admin 管理员组文章数量: 1184232
2024年1月18日发(作者:scanf能输入小数吗)
第十一课-Flappy Bird
本节课作品视频
一、学习目标
这节课我们做一款非常流程的小游戏Flappy Bird,玩法非常简单,按住空格键让角色躲避柱子,看谁躲避的柱子最多,坚持时间最长。学习目标:
1、 通过坐标偏移,实现角色的移动。
2、 如何控制小鸟飞行及实现重力效果。
二、程序设计
程序分析 : 我们分析下这款游戏,整个游戏是横屏游戏,屏幕是由右往左移动,仔细看下,小猫的飞行状态其实只是角色的变化,实际位置只是上下移动,而实际移动的角色为柱子。
1、 角色设计:通过我们分析,这节课需要3个角色,分别为两根竖着的柱子和飞翔的小猫,我们选择Cat Flying角色、柱子为Paddle,然后在复制一份Paddle,这样三个角色准备好了!
2、 Cat Flying编程:这个角色的实现效果,始终在屏幕的左侧位置,当按下空格键的时候向上移动,并换更换造型,不按的时候则掉落到下方。一直往下掉落,即Y坐标不停减少,如果按下空格键,Y坐标增加。通过这个分析我们是不是能出来了?在这里要注意Y坐标减少的数值要小于Y坐标增加的数字,否则飞不起来哦。但是也不能太大,否则一下就到飞到上面了!大家来试下吧!
3、 下面我们看下两个柱子,这也是这节课的难点。我们先把柱子放大些,大小设置为200,先把柱子移动到最右侧,右侧X坐标为240,两根柱子是从右方往左移动,每次移动的时候长短都会不同。我们先把两根柱子的方向调整下
方向如图,调整到0度方向。调整完我们把两根柱子摆放到右侧边缘
图1 图2
从以上两图能看出什么?首先柱子的X坐标是不是一样的?而唯一区别是两根柱子的Y坐标有变化了,上面的柱子上下移动有个距离,这个距离是随机的,同理下面的也是。是不是有思路了!
图1中柱子的Y坐标为220,图2中的Y坐标为167,我们让它在这个区间变化,通过随机数实现坐标在这个区间变化。下面的也类似,自己写下吧!
,也就是Y柱子往左移动,也就是X坐标不停运动,也非常简单,代码如下:
测试下,柱子停在了左侧边缘,我们继续优化,让柱子再回到右侧,小朋友想到了,如果碰到边缘再回到右侧位置?这里我们不能用碰到边缘,因为右侧一出来就已经碰到右侧边缘了。
不使用碰到边缘,那用哪个指令呢?我们可以通过坐标大小来判断,当柱子移动到最左侧的时候,X坐标小于某一个值,就可以让它返回去了。这个值不是固定的-240,从下图中看下:
现在上面柱子在左侧的坐标为-249,我们可以通过X坐标小于-240来判断,让它在返回到右侧开始位置。新指令,运算模块里的。代码如下
4、 这样上面柱子移动就完成了,下面的柱子小朋友们自己尝试下。这里一定要保证移动速度一致。那么如何增加积分呢?我们需要定义一个变
量,每次柱子消失增加一分,也就是X坐标小于-240的时候增加积分!知道放哪里了吧!
这节课就讲到这里,有问题的留言!大家在学的过程中需要多动脑,尽量在看完教程后再做,不要抄代码哦!
版权声明:本文标题:scratch编程 第十一课-Flappy Bird 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1705535185a488931.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论