Python pygame

PyGame游戏的基本结构

最简单的PyGame代码:

执行之后显示一个黑黑的窗口:

Screen Shot 2015-12-30 at 13.45.43

画一个方块

pygame.draw.rect是绘制长方形函数。第一个参数指定要在哪个surface上画(win);第二个参数指定颜色,RGB格式;第三个参数指定绘制的位置,x,y代表左上角坐标,另外两个代表长方体长和宽。

Screen Shot 2015-12-30 at 13.55.05

按键交互

下面实现使用空格键改变方块的颜色。

Screen Shot 2015-12-30 at 14.07.13

上面用到了pygame.KEYDOWN,和它对应的是KEYUP事件类型。pygame.K_****代表键盘上的按键,你可以用dir函数查看支持的按键:

用箭头键移动方块

还有一种处理键盘按键的方式:使用pygame.key.get_pressed()函数获得所有按键的状态,它返回一个0、1的大数组,分别代表每一个按键的状态,1代表该按键按下,0代表该按键没有按下。

Screen Shot 2015-12-30 at 14.25.16

上面有两个问题需要解决:

  1. 每次画新方块,前一个方块并不会消失,它还留在屏幕上。
  2. 它移动的太快,因为死循环里没有任何延时。

对于第一问题,你可以在绘制方块之前重新设置屏幕(黑色),Surface里有一个方法fill:

对于第二个问题,是因为屏幕刷新太快,一般游戏的刷新(fps)为每秒钟60次。你可以自己手动写延迟代码,也可以用PyGame里的Clock类:

完整代码:

Screen Shot 2015-12-30 at 14.47.59

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值