本帖最后由 你好世界 于 2023-9-21 10:33 编辑
------------------------------- 转载自:http://kidscando.co.nz ----------------------------------
上节课中我们看到笑脸图片可以从左往右走,并最终消失在右侧边框,就再也没有回来了(消失的它)。
原因很简单,left = left + 1,左边间距一直在增加,最终超过游戏窗户大小,如果我们想让它走到300后,再往回走,并且碰到左边边框后再往右走,这样来来回回,该如何做呢?如图:
最终效果的网页展示可以在这里看到。
实现的代码如下:
left=0
direction=1
def runIt(screen, smile):
global left, direction
if left>=300:
direction=-1 #方向往左移动
elif left==0:
direction=1 #方向往右移动
left=left+direction
screen.blit(smile, (left,50))
这里我们用到了新的语句 if …. elif …. 它的完全语法是:
if A:
XXXX
elif B:
YYYY
else:
ZZZZ
A和B在这里是逻辑判断表达式。(如:left>=300 或 left == 0)
如果条件A满足,则做XXXX,不然的话测试是否条件B满足,如果满足则做YYYY,如果A和B的条件都不满足,则做ZZZZ。这就是条件判断语句。
对于数值来说比较常用的逻辑判断符号是>= (大于或等于),== (等于),<=(小于或等于)
我们添加了新的全局变量direction用来指明是向左还是向右移动,它的初始值是1。
程序流程如下:
- 判断是否 left 是否大于等于 300 (图像移动到了或超过了我们设置的最大距离),如果是则改变direction方向,给它赋值-1。
- 如果上述判断不成立(left 不大于或等于300),则再测试是否 left 等于 0 (图像碰到了左边框),如果是则改变direction方向,给它赋值1。
- left = left + direction ,left的位置由当前left的位置加上direction的值,如果direction是-1,则相当于left=left-1,图像左边距会减少,图像显得往做移动,如果direction是1,则相当于left=left+1,图像左边距增加,图像显得往右移动。
- 再从第一步开始循环。
Python语言使用 # 作为注释语句开始标志,任何出现在 # 后的语句都不会被Python解释执行,注释语句的好处是可以添加一些代码的说明,方便以后的阅读,如果是多人开发游戏,添加注释可以更快更好的帮助你的同伴了解程序的意义。
|