python 飞机游戏

初学者通过pygame模块制作飞机游戏,理解精灵与精灵组的概念,实现游戏初始化、循环、事件监听、角色生成、定时器控制、用户交互以及碰撞检测功能。
摘要由CSDN通过智能技术生成

        刚开始学习python,想熟悉一下pygame模块,做了个小游戏。

        首先需要了解一下精灵与精灵组的概念,精灵是一个保存着图像数据和图像在屏幕上位置,并提供了更新与删除功能的类,而

精灵组则是多个精灵的集合。在游戏中,每一个角色都可以用精灵来表示,并且通过精灵组的形式来更新删除。

        这是定义的一个精灵类

                                   

   

 

以上定义了所有的游戏角色精灵

 

            此外,pygame还提供了游戏时钟,可以设置屏幕更新速度,而游戏中角色出现的快慢则有定时器决定.

self.clock = pygame.time.Clock()    #游戏时钟                                                 self.clock.tick(60) #置于游戏循环中
pygame.time.set_timer(CREATE_ENEMY_EVENT,1000)#设置定时器
pygame.time.set_timer(HERO_FIRE_EVENT, 500)

           整个游戏的框架应该分为游戏初始化与游戏循环,在游戏初始化中创建好精灵与精灵组后,接着在游戏循环中进行更新与显示                            

    

在循环中还包括对事件的监听。

         

 

   在事件监听函数中有大概要做的三件事,一是监听用户是否按下退出游戏键,若是则要卸载所有模块后退出游戏。二是要监听

定时器事件,若发生则需创建新的角色使其出现并添加至精灵组中,用于游戏循环中的更新。三是要监听用户的操作,使游戏角色按用户命令动作。

         最后则是碰撞检测,pygame提供了两种碰撞检测方法,一种是检测精灵组与精灵组之间的,另一种是检测精灵与精灵组之间的

 

在碰撞检测函数中,只需基于游戏需要,将相应的游戏角色在碰撞后销毁即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值