首页 体育热点 正文

Pygame(二)游戏编程,一触即发,第二弹——事件响应_event.type==keydown-CSDN博客

admin头像 admin 体育热点 2024-05-18 02:05:12 31
导读:  从pygame首发中我们看见完成的只是一个会动的界面而已,还不能算是一个游戏。对于一个游戏,做的再好,若玩家只能欣赏而无法参与的最"无聊"的,对此,来修善一下上一篇的代码,...

Pygame(二)游戏编程,一触即发,第二弹——事件响应_event.type==keydown-CSDN博客

  从pygame首发中我们看见完成的只是一个会动的界面而已,还不能算是一个游戏。对于一个游戏,做的再好,若玩家只能欣赏而无法参与的最"无聊"的,对此,来修善一下上一篇的代码,让玩家能够参与其中。   程序效果图:   pygame首发中已经用过QUIT事件来退出程序,现在再来运用KEYDOWN、KEYUP、MOUSEBUTTONDOWN、MOUSEBUTTONUP事件使用来完善程序代码,使其能让玩家来操作。   事件一览表:   核心代码添加的分析,完整代码、图像素材及打包文件见文末: SY1:   在游戏主循环添加KEYDOWN键盘按下事件来控制角色上下左右移动   K_LEFT: 键盘方向左键   K_RIGHT: 键盘方向右键   K_UP: 键盘方向上键   K_DOWN: 键盘方向下键   现在键盘方向键是可以使用来操作图像角色的移动方向,但却无法控制其转向,对此,SY3处使用transfore方法来控制图像的上下、左右翻转以及缩放操作。 SY2:   在游戏主循环添加"MOUSEBUTTONDOWN"和"MOUSEKEYBUTTONUP"来设定鼠标按住时图像角色进行倍速运动,松开鼠标恢复原速(此处若要多次加速可用一个循环操作)   由于按下键盘方向键会改变SPEED的参数(可能出现零),对此加速时需要做判断。 SY3:   transfore方法一览表:   flip方法:   加载图像后设置图像的翻转情况,pygame.transform.flip(Surface,xbool,ybool) - > Surface 包含三个参数,   参数1:返回surface对象;   参数2:设置是否水平翻转;   参数3:设置是否垂直翻转   pygame首发代码处有备注   设置左右翻转情况并判断角色的头朝向   smoothscale方法:   设置图像放大缩小的比率: ratio = 1.0 并在游戏主循环内添加 放大、缩小的键并实现其功能。   K_EQUALS: 键盘左上+ 左下= 键   K_MINUS: 键盘左上—— 左下- 键   K_SPACE: 空格键   pygame.transform.smoothscale(Surface,(width,height),DestSurface = None) - > Surface包含三个参数,   参数1:数据,返回surface对象;   参数2:大小(宽度,高度);   参数3:模式   此处使用scale方法也是可以的,参数和使用方法基本一样,就是图像放大后的显示效果有点偏差   注意:完成图像的放大缩小后还需要处理一下细节:图像角色的头朝向,在放大或缩小时图像会产生自动翻转现象,对此,需要设定头方向并做相应的判断,详细见下文完整代码:   适时更新请关注微信公众“百里锁钥”,公众号后台回复“pygame第二弹”获取程序源码、图片和打包后的可执行文件   附上前面相关知识:   入坑Python   Pygame第一弹
本文地址:https://tktzym.com/post/3262.html
若非特殊说明,文章均属本站原创,转载请注明原链接。

退出请按Esc键