python制作射击游戏_用python3从零开始开发一款烧脑射击游戏#2

上回说到用pygame绘制一个静止的小方块,今天将会实现通过鼠标或者键盘来控制小方块的移动

在这之前,首先我们需要考虑一个问题:

我们怎样才会认为一个物体在运动?风动,幡动还是仁者心动?

小方块在屏幕上的相对位置发生了变化,那就代表它移动了

与连续的现实世界不同的是,计算机内部的世界是离散化的,我们其实并没有真的去移动初始的小方块

而是在屏幕上不断的擦去旧的小方块,画出新位置上的小方块,玩家看起来就像它在移动一样

因此移动的实现逻辑就得到了:

在每一帧中擦去上一帧画的小方块

获取小方块当前的位置,并在这个位置画一个新的小方块

只要帧数足够多(超过视觉暂留的需求),就实现了小方块的“连续移动”

下面我们定义一个小方块的类

class Robot(object):

def __init__(self:

self.x = 120

self.y = 350

def Move(self):

self.x+=1

self.y+=1

pygame.draw.rect(screen,color1,Rect(self.x,self.y,20,20))

小方块的初始为止在(120,350),每调用一次Move,坐标就会修改,如果绘制出新的矩形,就实现了移动

我们用这个类创建一个对象

robot = Robot()

然后开始绘制屏幕

while True:

clock.tick(60)

for event in py

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值