zoukankan      html  css  js  c++  java
  • 2D游戏开发(1)

    《外星人入侵》  

    通过pygame,入门python的2D游戏开发过程,通过教材制作一个打外星人游戏。

    1、函数 run_game() 

    import sys

    import pygame

    def run_game():

       #初始化游戏,并创建一个屏幕对象

       pygame.init()   

       screen = pygame.display.set_mode((1200, 800))

       pygame.display.set_caption("Alien Invasion")

       #开始游戏的主循环

       while True:

           #监视键盘、鼠标的操作

           for event in pygame.event.get():

               if event.type == pygame.QUIT:

                   sys.exit()

           #让屏幕可视化

           pygame.display.flip()

    run_game()

    这段函数导入了2个模块,sys 、pygame。模块pygame包含了开发游戏所需要的功能,玩家退出时需要使用模块sys来进退出。

    pygame.init()进背景初始化,让pygame可以正确的工作。在这里使用pygame.display.set_mode()来创建一个名为screen的显示窗口。

    元组(1200,800)指定了游戏窗口的大小。

    这个游戏的主体,由一个while循环控制,这个while循环包含了一个循环事件以及管理屏幕更新的代码。

    事件是用户玩游戏时执行的操作,如 按键,移动鼠标。为让程序响应事件,我们编写了一个事件循环,以侦听事件,并根据发生的事件执行

    响应的任务。这里的for循环就是完成这个工作。

    例如:

      玩家点击游戏窗口的关闭按钮时,将检测到pygame.QUIT事件,进而程序将调用sys.exit()来退出游戏。

    pygame.display.flip()的功能是让pygame最近绘制的屏幕课间,在这里它每次执行while循环时都会绘制一个空屏幕,并擦去旧屏幕,使得只有

    新屏幕课间。在我们移动游戏元素时,pygame.display.flip()将不断更新屏幕,以显示元素的新位置。

    在最后一行,调用了run_game(),这将初始化游戏并开始主循环,此时运行代码就会看到一个空的pygame窗口。

  • 相关阅读:
    box-shadow使用指南
    chrome的input默认样式黄色背景以及选中加粗的边框处理
    Spring AOP执行方法
    Spring JDBC主从数据库访问配置
    JS 命名冲突
    Data truncation: Truncated incorrect DOUBLE value 解决方案
    MySQL DATE_ADD() 函数
    Codeforces Round #340 (Div. 2)
    2020牛客寒假算法基础集训营3
    Codeforces Round #377 (Div. 2)
  • 原文地址:https://www.cnblogs.com/alben-cisco/p/6876229.html
Copyright © 2011-2022 走看看