博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2D游戏开发(1)
阅读量:6548 次
发布时间:2019-06-24

本文共 1003 字,大约阅读时间需要 3 分钟。

《外星人入侵》  

通过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窗口。

 

转载于:https://www.cnblogs.com/alben-cisco/p/6876229.html

你可能感兴趣的文章
java 编译100个范例
查看>>
Session Cookie ServletContext
查看>>
单点登录SSO
查看>>
遇见有的软件开启后画面模糊怎么解决
查看>>
好系统重装助手教你怎么识别固态硬盘还是机械硬盘
查看>>
170. js中获取随机数 (记录一下)
查看>>
深入浅出爬虫之道: Python、Golang与GraphQuery的对比
查看>>
DHCP配置
查看>>
MySQL性能测试(二)——Ubuntu 14.4.02, MySQL 5.6.25, sysbench 4.8
查看>>
我的友情链接
查看>>
网络安全十大注意
查看>>
cisco虚拟局域网VLAN路由----待补充
查看>>
join命令实现文件内容拼接
查看>>
-bash:wget command not found的解决方法
查看>>
yara规则
查看>>
我的个人简历
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
KVM组件bug报告方法
查看>>
HTML5初学---坦克大战基础
查看>>