Day32 ( 游戏设计 ) 太空狗闪躲陨石

太空狗闪躲陨石

教学原文参考:太空狗闪躲陨石

这篇文章会介绍,如何在 Scratch 3 里使用键盘侦测、角色移动、分身、重复无限次、逻辑、碰到分身...等积木,实作键盘控制角色移动闪躲陨石的小游戏。

相关文章参考:键盘侦测角色移动重复无限次如果果...那麽

角色设定

在角色编辑区,删除猫咪角色,加入「太空狗」角色 ( 参考:Scratch 角色设定 )。

Scratch 3 教学 - 闪躲陨石

另外一个角色,使用绘画,绘制陨石的图案 ( 参考:造型与绘图 )。

Scratch 3 教学 - 闪躲陨石

完成後,在角色区域应该就能看到太空狗和陨石两个角色。

Scratch 3 教学 - 闪躲陨石

再来将舞台背景更换成宇宙星空的背景,舞台上就能看到太空狗和陨石,出现在宇宙里中。

Scratch 3 教学 - 闪躲陨石

积木程序原理 ( 太空狗 )

设定太空狗出现在舞台正中央 (0,0),并调整大小为 60%,接着参考 惯性移动 ( 键盘 ) 一文,将太空狗设定成可以用键盘控制上下左右,并具备「惯性移动」的特性 ( 放开键盘时逐渐减速 )。

Scratch 3 教学 - 闪躲陨石

点击绿旗,就能用键盘操控太空狗,放开键盘时会有惯性地减速效果。

Scratch 3 教学 - 闪躲陨石

积木程序原理 ( 陨石 )

因为闪躲陨石的游戏会不断有陨石出现,所以使用重复无限次积木,每隔一秒建立一个陨石分身。

Scratch 3 教学 - 闪躲陨石

因为希望陨石都是从舞台的四个边缘出现 ( 画面中突然蹦出一个陨石是满不合理的 ),所以使用一个 1~4 的随机数,定义陨石出现位置,如果是 1,就设定 x 为 -220~220 的随机数字,设定 y 为 -160,陨石就会从舞台下面出现,依此类推。

为了避免待会和侦测边缘碰撞互相干扰,设定的数字比舞台座标还要小,例如舞台左侧为 -240,陨石就设定 -220,舞台上缘为 180,陨石的 y 就设定 160。

Scratch 3 教学 - 闪躲陨石

使用「面朝...向」的积木,使陨石出现时,朝着太空狗的方向,接着使用重复无限次积木,让陨石往太空狗方向移动,使用「如果...那麽」积木,判断碰到边缘或碰到太空狗的时候,就删除分身

Scratch 3 教学 - 闪躲陨石

完成效果

完成後,点击绿旗,就会看到陨石不断出现,同时可以用键盘操控太空狗闪躲陨石。

Scratch 3 教学 - 闪躲陨石

最後在陨石的角色加入「被撞到」的变数,在碰到太空狗的时候,让变数改变 1,就能计算被撞到几次了。

注意,为什麽要加在「陨石」角色呢?因为如果将判断程序加在太空狗,会因为「碰到太空狗」的时候陨石分身消失,造成没有判断碰撞的情形,所以将判断放在陨石角色会比较简单好处理。

Scratch 3 教学 - 闪躲陨石

范例解答

范例解答:闪躲陨石

延伸练习

如果已经熟悉了闪躲陨石的原理,还可以尝试更多好玩的作法:

  • 改成碰到陨石,太空狗会扣血量,扣完了就会出现 Game Over 的背景。( 解答 )

    Scratch 3 教学 - 闪躲陨石

关於我

大家好,我是 OXXO,是个即将迈入中年的斜杠青年,如果对我有点兴趣(笑,可以与我联系,一起来做点有玩又有创意的东西吧!


<<:  [Android Studio 30天自我挑战] Radiobutton和Checkbox的练习

>>:  CSS微动画 - Animation也会影响网页效能?

#28 JS: Timing Events - Part 2

After introducing about the 2 methods for timing e...

Day23 Gin with i18n

What is i18n? i18n为Internationalization的缩许,取概要和结尾文...

食谱搜寻系统系统简介~~

系统名称:小白的食谱搜寻系统 题目选择原因 其实icebear是一个患有重度选择困难症的人,常常会为...

第十天:在 TeamCity 上完成第一个建置工作

在前一天的练习里,我们虽然只写了一个非常简单的 Hello World 程序,但只要能在 Run 面...

Day08-流量限制(三)

前言 昨天有讲到怎麽运用 nginx 来做基本的分流、限流,但因为昨天举的例子比较简单,真实世界的应...