教学原文参考:Flappy Bird
这篇文章会介绍,如何在 Scratch 3 里使用连续背景、变数、定位、座标、重复、侦测碰到其他角色...等积木,实作 Flappy Bird 小游戏。
在角色编辑区,删除猫咪角色,加入「飞行的猫咪」角色,接着使用「上传」,加入一张连续背景的图片和一张水管的图片,上传後将背景命名为「背景-01」和「水管」 ( 参考:Scratch 角色设定 )。
Flappy Bird 的游戏方式,是在按下键盘空白键时,让角色不断在舞台中跳耀,首先将猫咪移到图层最上层、定位到舞台正中间,接着新增一个名为 y 的变数,使用「重复无限次」、「如果...那麽...否则」积木,判断是否按下空白键,如果按下空白键,就设定 y 为 10,如果没有按下空白键,就让 y 模拟重力加速度不断改变 -2,最後透过角色 y 的改变,就能够做到按下空白时,猫咪不断往上跳,没有按空白,猫咪往下自由落体的效果。
完成後,点击绿旗,不断按压空白键,就可以看到猫咪在画面中上下跳动。
接着为猫咪角色新增第二组绿旗点击程序,使用「重复无限次」、「如果...那麽...否则」积木,判断碰到舞台边缘或碰到水管角色,就让猫咪说出「呀!!!!」的文字。
完成後,点击绿旗,除了可以看到猫咪在画面中上下跳动,碰到舞台边缘的时候,猫咪就会说话。
将第一张背景图定位在舞台的左边,定位座标使用 (-238,0),使用 -238 的原因为了和第二张背景图接合 ( 如果刚好 240 可能会造成移动切换时出现空隙 ),接着使用重复无限次判断图片位置,如果图片的 x 座标移动到小於 -462,就让图片的 x 座标移动到 462。
宽度 480 的图片,抵达左右边缘极限的座标为 -465 和 465,此处使用的 -462 和 462,是针对这张背景图片所调整出不会有空隙的数值,如果使用是不同的图片,可能有些微的变化。
在角色区域,复制这个背景成为一个新的角色,修改名称为「背景-02」,这样程序就可以一并复制。
将「背景-02」定位在舞台的右边,定位座标使用 (238,0),其他程序不需修改。
完成後,点击绿旗,背景就会不断往左移动,看起来就像猫咪不断往前飞。
因为画面中会不断出现水管,所以水管角色采用「分身」的方式进行,一开始先隐藏本尊,然後每隔一秒建立分身,就能够让水管每隔一秒不断出现。
分身建立後,显示分身,新增一个「位置」变数,随机设定为 1 或 2,如果是 1,将分身定位在右边上方,如果是 2,将分身定位在右边下方 ( 高度使用 200~240 的随机数,让出现的高度不相同 ),接着使用「重复无限次」、「如果...那麽...否则」积木,让水管不断往左移动,当移动到最左边时,就删除分身。
所有角色的程序都完成後,点击绿旗,就能够开始进行猫咪的 Flappy Bird 的游戏。
范例解答:Flappy Bird
如果已经熟悉了Flappy Bird的原理,还可以尝试更多好玩的作法:
大家好,我是 OXXO,是个即将迈入中年的斜杠青年,如果对我有点兴趣(笑,可以与我联系,一起来做点有玩又有创意的东西吧!
<<: # Day29--在某些commit之间再加些commit:我就是欲求不满,我就是强迫症!
>>: Day44 ( 电子元件 ) 触碰开灯 ( 类比讯号 )
灵异现象 - 我改了档名它就换了一个档案格式耶 Credit: 乔瑟夫ChillSeph 灵感来源:...
上一篇已经处理好注册与登入的部分,但一个完整的帐户机制还需要包含 登入後 的身份识别,为什麽登入後还...
27 - First non-repeating character Don't say so mu...
SQL Injection 承接上次所提,透过万用字串' or 1=1--,可不须验证,盗用其他人帐...
如本日主题,今天要来介绍一下Go语言的程序码架构,以下内容摘录自『 The Go Workshop ...