zoukankan      html  css  js  c++  java
  • Python——pygame入门实例

    本文章是一篇学习笔记。加入了自己的理解。

    最终实现的是小球的一个移动

    pygame:就是一个制作游戏的模块,在Python中进行调用即可。

    import pygame#导入pygame模块
    pygame.init()#初始化pygame
    screen = pygame.display.set_mode((600,400))#设置窗口
    condition = True #创建游戏结束的条件
    while condition:#主循环
    for event in pygame.event.get():#添加检查事件
    if event.type == pygame.QUIT:#退出事件,当鼠标点击退出按钮时退出程序
    condition = False #更改游戏退出条件
    pygame.quit() #游戏退出

    上面代码主要实现:窗口化和退出事件。

    import pygame  #导入pygame模块
    import sys     #导入sys模块
    pygame.init()  #初始化pygame
    screen = pygame.display.set_mode((600,400))  #设置窗口
    ball = pygame.image.load("./box.glf")  #导入小球图片,图片的路径请自行修改。
    ballrect = ball.get_rect()  #通过get_rect()这个函数就可以获取图片的位置
    print(ballrect)    #这里可以通过输出来看一下图片的所在位置
    seppn = [1,1]  #x轴和y轴的位置
    clock=pygame.time.Clock()  #设置时间,这里要注意的是Clock的首字母一定要大写
    while True:  #主循环     clock.tick(100)  #每秒执行100秒
        for event in pygame.event.get():    #添加检查事件       if event.type == pygame.QUIT:    #退出事件,当鼠标点击退出按钮时退出程序         sys.exit()
        ballrect = ballrect.move(seppn)
        if ballrect.left < 0 or ballrect.right > 600:    #碰撞检查
          speed[0] = -speed[0]    #取反
        if ballrect.top < 0 or ballrect.bottom > 400:
          speed[1] = -speed[1]    #取反
        screen。fill((0,0,0))    #添加一个新的背景,因为每次在while循环更新的时候我们生成一个背景,当第二次的时候又会生成一个新背景来覆盖小球此时小球看起来就不会有重叠的现象了
        screen.blit(ball, ballrect)  #将ball和
    ballrect 显示在窗口中
        pygam.display.flip()  #显示窗口的内容
    pygame.quit()

     上述代码实现:1.添加小球

            2.显示小球的位置

            3.检查小球的碰撞

            4.增加一个新的背景让小球看起来不会有重叠的现象

            5.设置一下小球的速度

            6.完成小球的整个运动

    以下代码是改进完后的代码

    impor pygame  #导入pygame模块
    impor sys     #导入sys模块
    pygame.init()  #初始化pygame
    size = width, height = 600,400
    screen = pygame.display.set_mode(size)  #设置窗口
    ball = pygame.image.load("./box.glf")  #导入小球图片,图片的路径请自行修改。
    ballrect = ball.get_rect()  #通过get_rect()这个函数就可以获取图片的位置
    print(ballrect)    #这里可以通过输出来看一下图片的所在位置
    seppn = [1,1]  #x轴和y轴的位置
    clock=pygame.time.Clock()  #设置时间,这里要注意的是Clock的首字母一定要大写
    color = (0,0,0)  #设置颜色
    while True:  #主循环
        clock.tick(100)  #每秒执行100秒
        for event in pygame.event.get():    #添加检查事件
          if event.type == pygame.QUIT:    #退出事件,当鼠标点击退出按钮时退出程序
            sys.exit()
        ballrect = ballrect.move(seppn)  #向x轴和y轴移动
        if ballrect.left < 0 or ballrect.right >     #碰撞检查
          speed[0] = -speed[0]    #取反
        if ballrect.top < 0 or ballrect.bottom > height:
          speed[1] = -speed[1]    #取反
        screen。fill(color)    #添加一个新的背景,因为每次在while循环更新的时候我们生成一个背景,当第二次的时候又会生成一个新背景来覆盖小球此时小球看起来就不会有重叠的现象了
        screen.blit(ball, ballrect)  #将ball和ballrect 显示在窗口中
        pygam.display.flip()  #显示窗口的内容
    pygame.quit()
    改进版代码

    自行获取图片:

     

  • 相关阅读:
    javaday19_List接口_Set接口
    01玩转数据结构_04_最基础的动态数据结构:链表
    10 拖拽的对话框_滚动条_放大镜_
    01玩转数据结构_03_栈和队列
    java小技巧
    01玩转数据结构_02_不要小瞧数组
    01玩转数据结构_01_课程介绍
    javaday18_ArrayList
    JZOJ.3777【NOI2015模拟8.17】最短路(shortest)
    JZOJ.5230【NOIP2017模拟8.5】队伍统计
  • 原文地址:https://www.cnblogs.com/jiekesi/p/11610714.html
Copyright © 2011-2022 走看看