为了不被动物保护人士殴打,这次我们把游戏改成抓小偷的游戏。
游戏制作步骤:
这次终于不用删除可怜的小猫了,这次我们选他为主角
3.编写小猫脚本1——初始化小猫的大小和位置
鼠标左键按住小猫,隐含了两个条件,即鼠标的坐标在小猫角色图片的坐标范围内,和鼠标左键被按下。
鼠标移到舞台区域内,右下角会显示鼠标此时的坐标值。
将鼠标移到小猫角色的坐标范围内,记录X坐标的最小值和最大值、Y坐标的最小值和最大值。本例中小猫的X坐标范围为[-220,-167]、Y坐标范围为[-125,-65]。脚本如下:
5.新建角色——小球
新建一个用于击打小偷的小球。
6.编写小球脚本1——初始化小球的大小和位置
7.新建角色——蓄力框
蓄力框需要绘制。
8.新建角色——蓄力条
蓄力条同样需要绘制。
9.编写蓄力框脚本1——初始化蓄力框位置
应该固定,不能乱跑,所以需要固定蓄力框的位置
10.编写蓄力条脚本1——初始化蓄力条位置
蓄力条的位置和蓄力框的位置一样,需要初始化
11.编写蓄力框脚本2——按住小猫时显示,松开鼠标隐藏
按住小猫的判定与小猫角色的脚本相似,为了节省工作量,可以将脚本复制过来。
在小猫脚本的基础上做个修改,实现按住小猫蓄力框出现,松开鼠标左键蓄力框消失。
蓄力条的变长需要用到“画笔”相关指令。
使用“图章”指令和“移动”指令,便可实现蓄力条变长的效果。
“清空”指令可以将所有留在舞台上的图章清除。
从演示效果看出以上程序还不够,蓄力条应该和蓄力框一样在按住小猫时出现,其他时候消失,同时,每次按住小猫开始时,位置应该从蓄力框最左侧开始变长。所以脚本应为:
小球被抛出的轨迹应该是抛物线,但是抛物线的方程过于复杂,大家可以尝试的去挑战。本例中用圆弧代替。
现实中,绘制圆形最简单的方法是用圆规绘制,首选确定圆的半径,再选取圆心,最后转动圆规,绘制圆形。
用程序绘制圆形,最简单的方法是用正多边形逼近的方式绘制圆形。
为了讲解如何绘制一个圆形,使用空的模板,插入一个角色“Pencil”,配合“落笔”指令,绘制多边形。
先绘制我们比较熟悉的正四边形:
绘制正十边形
正十边形是不是比正四边形更像一个圆了?如果绘制正30边形呢?
为了画笔轨迹不超出舞台范围,边长改为30
这个正30边形是不是已经很像一个圆了?
会到小球的脚本,小球从小猫手中抛出。首先有一个初始角度,之后每移动几步,角度向右转动几度,这样便可以形成一个圆弧的轨迹。
游戏中的轨迹是与蓄力的多少相关的,所以需要增加一个“力量”变量。
(2) 角度值随力量值变化,即当力量值为100时,角度值为20;当力量值为0时,角度值为80。所以角度值=80-(60/100)×力量值。
角色库中没有合适的小偷形象,感谢我们的美女画师为本游戏原创设计的小偷角色。
被发现的小偷
据说小偷的形象是以笔者为原型的,大家自己脑补,哈哈~
将小偷角色调整到合适的大小,移动到舞台右侧街道上,造型为“得意的小偷”。
17.编写小球脚本4——广播消息
Scratch为不同角色之间的信息传递提供了“广播”的相关模块,位于“事件”类目中。
“广播(信息)”指令运行一次,便发出一次广播,其他角色脚本中由“当接收到(广播信息)”事件触发的脚本便运行一次。
所以,当小球碰到小偷时,发出一次“击中”广播;当小球碰到舞台边缘时,发出一次“没击中”广播。小球的脚本变为:
18.编写小偷脚本2——接收广播消息
如果小偷被击中,造型切换为“被发现的小偷”,说“哎呀”1秒钟,之后造型切换回“小偷”。如果小偷没被击中,造型不变,说“没打中!”1秒钟。
19.编写小偷脚本3——血量设定
反复这样打中和没打中,着实无趣,为了让美女画师画的“扑街的小偷”不浪费,必须要让小偷扑街。
本游戏设置小偷有3滴血,被打中一次血量减一,当血量为0时扑街。则小偷被球击中部分的脚本变为:
20.编写小偷脚本4——随机移动
让小偷不论击中还是没被击中,都换一个地方,让其在舞台右侧街道移动。
21.编写小偷脚本5——小偷逃跑
那么设定一个变量——击球次数,当击球次数超过5时,小偷逃跑成功!则没击中部分的脚本变为:
击中部分的脚本中也要添加一条“变量 击球次数 的值增加1”的指令。
到此,本游戏基本框架编写完毕。
欢迎在留言区回复您宝贵的意见。提出您的创意,我们帮你实现!
