10课 综合作品制作——森林小卫士

>>>点击此处打开范例

宁静的森林里来了一群无恶不作的恶魔,它们在森林里横冲直撞、肆意毁坏森林。勇敢的森林小卫士为了保护森林挺身而出,能不停地发射子弹,还能上下左右灵活躲闪。在100秒之内,小卫士能打败恶魔,取得胜利吗?让我们一起帮助森林小卫士保卫森林吧!

要完成这个任务,我们首先需要编写恶魔在森林里飞行横冲直撞的脚本然后再编写读取传感器板上的摇杆、按键等传感器数值、控制森林小卫士飞行、发射子弹、补充子弹的脚本;当然,游戏还应该有得分统计、生命计算等脚本可以让游戏变得更加有意思。


传感器指令

在游戏中的功能

1

使用摇杆控制森林小卫士飞行

2

按下Up键,让森林小卫士发射子弹

3

按下Down键,为森林小卫士补充子弹

4

使用蜂鸣器提示当前生命值的数量

5

通过绿灯闪烁,提示当前游戏剩余时间大于50

6

通过黄灯闪烁,提示当前游戏剩余时间小于50

7

通过灯闪烁,提示当前游戏剩余时间小于20


除了以上这些传感器指令,在这个游戏中,你还打算还使用哪些?让它们分别实现什么功能?

(点击或者扫描二维码播放视频)


传感器指令

在游戏中的功能





第一步:设置舞台背景与角色

(点击或者扫描二维码播放视频)

  1. 找到“背景库”中的“blue sky”作为舞台背景“角色库”中的“Gobo作为森林小卫士Bananas”作为子弹Ghost2作为恶魔调整这些角色的大小和位置。

    舞台背景和角色

    背景

    森林小卫士

    子弹

    恶魔

    游戏胜利

    游戏结束

  2. 单击“角色列表区”的 按钮新建角色。进入造型编辑的“矢量模式”使用“文字”工具添加“The game victory”和“Game over”两个文字角色,用于表示游戏胜利和游戏结束。

  3. 对舞台背景和角色按要求统一重命名,同时隐藏舞台上无关的传感器数值。

  4. 为舞台添加“声音库”中的“jungle”、子弹添加“laser1”、恶魔添加“chomp”声音。

步:编写森林小卫士角色脚本

(点击或者扫描二维码播放视频)

森林小卫士是游戏的主角,可以通过传感器板上的摇杆控制它在舞台上移动。

步:编写恶魔角色脚本

(点击或者扫描二维码播放视频)

范例游戏中的恶魔通过克隆,从舞台的右侧不断向左侧飞行,向小卫士进攻。它的第一段脚本先设置隐藏,然后不断的克隆自己。

第二段脚本是当恶魔作为克隆体启动后,先在舞台右侧的随机起始位置显示,然后向舞台左侧的随机终点位置飞行。

第三段脚本是当恶魔作为克隆体启动后,如果在飞行过程中碰到子弹,就删除这个克隆体、播放被击中的声音;如果没有碰到子弹,飞行到舞台边缘时,也删除克隆体。

步:编写子弹的脚本

(点击或者扫描二维码播放视频)

本课范例程序的“子弹”就是“香蕉”,它是森林小卫士进攻的武器。

第一段脚本首先新建“子弹”变量,并设置它的初始值为“5;然后重复执行:当子弹数量大于0时,如果按下传感器板上的“Up”键,会克隆子弹、播放发射子弹的声音、减少子弹变量值。具体脚本代码如下左图所示。

第二段脚本是当“子弹”作为克隆体启动后,先移动到“森林小卫士”角色边上显示,然后使用重复执行指令:让“子弹”向右移动、同时旋转产生动态效果,增加游戏趣味性;同时判断子弹克隆体在飞行过程中,如果碰到恶魔或者舞台边缘,都删除克隆体。具体脚本代码如上右图所示。

第三段脚本是检测有没有按下传感器板上的“Down”键,如果按下了,那么重新设置子弹数量为5。具体脚本代码如下图所示。


步:设置生命系统

(点击或者扫描二维码播放视频)

为了增加游戏的可玩性,还可以设置游戏的生命系统。本课范例游戏中,当森林小卫士被恶魔碰到,它的生命值就会减少,当生命值为零的时候,游戏失败。随着生命值的减少,传感器板上的蜂鸣器可以发出不同的警报声音。

首先选中“森林小卫士”角色,新建“生命”变量、设置生命变量的初始值为5。每次碰到“恶魔”角色,“生命”变量值就减少1,当这个值小于1、也就是等于0时,广播“游戏结束”。完整的脚本代码如下左图所示:

第二段代码同样也在“森林小卫士”脚本中添加,在“重复判断”指令中判断:当生命值小于4并且大于1时,传感器板上蜂鸣器发出相对急促的警报声;当生命值等于1时,蜂鸣器会发出非常急促的警报声。具体脚本代码如上右图所示。


步:设置计分系统

(点击或者扫描二维码播放视频)

一个完整的游戏,还应该有计分系统。本课范例游戏中,每次“森林小卫士”的子弹击中恶魔,就会累计得分,当得分达到一定的数值时,广播“游戏胜利”消息。

首先选中舞台背景缩略图,新建“得分”变量、设置“得分”变量的初始值为0;然后在重复指令中判断:如果得分变量大于490(也就是达到500分),就广播“游戏胜利”。具体脚本代码如下图所示。

还应该选中“子弹”角色,在它作为“克隆体启动”的脚本中添加:如果碰到“恶魔”,那么“得分”变量值增加10


步:设置游戏计时系统

(点击或者扫描二维码播放视频)

为了增加游戏的难度和紧张感,一般在游戏中还需要加入计时系统。在范例游戏中,游戏时间为100秒,随着时间的减少,传感器板上的绿色、黄色、红色LED灯会依次亮起,提示玩家注意时间。

同样也是先选中舞台背景缩略图,新建“时间”变量、设置“时间”变量的初始值为“100”;然后添加倒计时脚本:以秒为单位依次减少时间,当变量为0的时,广播“游戏结束”。具体脚本代码如下左图所示。


还可以在舞台脚本中添加传感器板上的LED灯提示脚本:当时间大于50秒时,绿灯闪烁;当时间等于50并且大于20时,黄灯闪烁;当时间20时,红灯闪烁。具体脚本代码如上右图所示。


步:设置游戏结束

(点击或者扫描二维码播放视频)

本课范例游戏一开始,“游戏胜利”和“游戏结束”文字角色隐藏;当接收到“游戏胜利”或者“游戏结束”消息时,显示相应角色。具体这两个角色的脚本代码如下图所示:


开动脑筋,你能让“森林小卫士”这个游戏更好玩吗?比如:可以添加合适的背景音乐;除了常规子弹外,还可以添加超级炸弹;在战斗过程中,森林小卫士得到不同的奖励等等。

我打算制作的是:______________________________________________________

_______________________________________________________________________

_______________________________________________________________________

我制作的这个作品在“好好搭搭”网站上共享的名称是_______________________;综合网友给我提的建议,我认为还可以在以下方面进行改进:______________________

_______________________________________________________________________

_______________________________________________________________________

_______________________________________________________________________