这个程序需要实现的功能是:舞台上方不断向下落馅饼和石头,一个碗在舞台下方跟随鼠标指针水平移动,如果接到馅饼,加10分;如果接到石头,游戏结束。我们用到的角色有用来移动的小碗“Bowl”、天上掉下来的馅饼(这里用的图片素材是塔可“Taco”)和石头“Rocks”。注意角色的大小和位置,同时我们把背景换成了天空,如图16-1所示。


图16-1 选择角色和背景

小碗角色随着鼠标指针移动,程序如图16-2所示。馅饼角色的程序是本章中的重点,首先要实现的功能是让这个角色从上往下移动,到达最底部之后会重新出现在上面的随机位置。老规矩,我们先放置一个“当被点击”和一个“重复执行”指令模块。


从上往下移动的实质就是让角色的y坐标不断减小,所以这里添加的是“将y坐标增加-10”指令模块。之后要进行一个判断,如果馅饼角色碰到舞台边缘,就移动到一个位置。大家可能会觉得这和小碗角色的程序有点像。


图16-2 小碗角色随着鼠标指针移动的程序


在小碗角色的程序中,“移到x:0 y:0”指令模块中的x坐标是鼠标指针的x坐标,而馅饼角色的x坐标是一个随机数,这个指令模块在“运算”分类中,范围是x坐标的取值范围,因为这个屏幕的x坐标取值范围是-240~240,我们刨去馅饼的宽度,所以这里取值范围是-206~210,程序如图16-3所示。


图16-3 馅饼角色的程序


下一步就需要处理馅饼碰到小碗的情况了。这里我们建立一个计分的变量,当小碗接住馅饼的时候,就将这个变量增加10。单击模块区的 “变量”分类,单击“建立一个变量”,如图16-4所示,在弹出的对话框中输入新变量名“分数”,然后单击“确定”。


图16-4 建立一个变量

之后就会看到如图16-5所示的界面。


16-5 建立新变量“分数”


首先,舞台区的左上角增加了一个变量的显示(分数),此时变量的值是0,另外在“变量”分类中新增了几个和变量相关的指令模块,有设置/修改变量的值、显示/隐藏变量等内容。新建了变量之后,在馅饼角色的程序中再添加一个“如果…那么…”指令模块,此处的条件是“碰到Bowl”。当馅饼碰到小碗的时候,要将馅饼移动到上面的随机位置,同时要将分数变量的值增加10,程序如图16-6所示。


图16-6 馅饼角色的新程序

目前石头还不能动,不过已经能玩了。点击运行试试,看看你能接住多少个馅饼。重新开始玩的时候,你会发现变量的值不会清零。要实现重新开始玩时分数清零的目的,可以在“重复执行”之前加上一个“将分数设为0”指令模块,如图16-7所示。


图16-7 添加分数清零的指令模块


最后来完成石头角色的程序,这个角色的程序和馅饼角色的程序类似,只是在它碰到小碗的时候不是增加分数,而是提示用户“碗漏了,游戏结束!”。这个内容也要使用“停止全部脚本”指令模块,如图16-8所示


图16-8 完成石头角色的程序


这样,这个例子中的所有程序都完成了,大家可以再增加几个馅饼这样的角色,让程序更好玩一些。


本节知识点:

1. 学会建立变量。

2. 学会随机数的应用:将角色移动舞台指定区域内的随机位置。


扩展练习:

1. 加入生命值变量,当生命值为0时,游戏结束。

2. 加入更多食物造型,每次下落,食物角色切换为随机造型。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部