购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.8 劝阻托勒密五世完整动画程序

【任务描述】

回到本章开始时的任务:电小白要以一个埃及神的造型,劝说托勒密五世,打消对塞琉古王朝发动战争的念头,用Scratch编程的方式来讲述这样一个故事。这个例程涉及两个角色(电小白+托勒密五世),为使动画更为逼真,每个角色都要有多个造型。

剧情描述:在一个海滩边上,电小白变身为一个当时的人类形象,缓步走到托勒密五世跟前,运用法力使自己的形体突然变大,并改变自身的颜色,然后说出一段劝阻战争的话语;托勒密五世见到如此怪诞的景象,自然认为这是神的旨意,满口答应下来。

【任务实现过程】

第一步,先从菜单栏中的“文件”下拉菜单中选择“新建项目”,接着继续从文件的下拉菜单中选择“保存”,将本项目命名为“劝阻托勒密五世”(或任意你喜欢的名字)。及时保存项目文件,这是一个很好的习惯,可以预防因为电脑故障而丢失文件数据的情况。

第二步,将新建项目中默认生成的小猫这个角色删除。删除方法有3种:右击角色列表区中角色的图标或右击舞台区中角色图案都会弹出快捷菜单,快捷菜单中选择“删除”即可;还有一个办法是从光标工具栏中选择剪刀形状的图标,然后单击舞台区角色图案(或角色列表区中的角色图标)完成删除。这3种操作方法分别如图2-10所示。

第三步,如图2-11所示,在角色列表区的右上方“新建角色”旁边的第一个图标“从角色库中选取角色”。我们从角色库中找到“Avery Walking”来模拟电小白,Devin模拟托勒密五世。Scratch为便于开发者快速从角色库中找到自己需要的角色,将全部角色进行了分类,如:动画、人物、物品、交通等。此例中用到的角色可以从人物这一分类中快速查找。

图2-10 角色删除操作

图2-11 从角色库中选取角色

第四步,新建角色成功后,角色列表中就出现了已默认命名的角色,现在需要将角色的名字改成我们希望的样子。具体操作方法:点击角色图标左上角的“i”图标,将出现图2-12右半部分所示的界面,即角色属性界面,在文本框中编辑名字即可,然后按左上角的箭头键可以返回到前一界面。另外,这个属性界面,还可以设置角色的朝向、角色的旋转模式、播放时是否可以拖曳以及程序刚开始运行时是否显示等属性,有些属性也可以通过指令在程序运行过程中设置(例如:面向、显示/隐藏、旋转模式),而角色的名字和播放时是否可以拖曳这两个属性必须在属性界面上完成设置。

图2-12 编辑角色名字

第五步,为角色编写脚本。

在第1章中我们在“运动”指令中学习了如何使用指令将角色从一个地方移动到另一个地方。但有一个问题,角色始终保持着同一个造型,这样的运动与现实世界很不相符,因此显得不那么真实。本例中,我们将通过为角色增加多个造型,并在运动过程中变换造型,从而大大提升角色运动的逼真效果。图2-13显示,角色“电小白”一共有4个造型,代表着一个人正常走路时的4种姿势。为了模拟真实走路的样子,在角色移动的过程中,同时改变其造型就可以了。

本章前面在学习变换造型的指令时,已经知道可以在脚本程序中通过将造型变换为指定的造型制造出走路的效果,但实际运行前文的例子时,角色运动的速度太快,并不能看到走路的过程,虽然用图章的方式能留下角色每走一步的印迹。

所以,本例程要提前学习一个“控制”类指令:等待若干秒,如图2-14所示,其代码执行的效果是每个造型会保持指定秒数(本例中为0.5秒、1秒)的时间。

视频讲解

图2-13 编辑造型

图2-14 外观指令实现角色动画

图2-15示意了两个角色之间实现对话的一种方式,这里是通过计算出角色“电小白”的动画总时间,让角色“托勒密五世”等待相应的时间后,再执行“说”指令,由此实现两个角色对话。这是一种暂时的实现办法,在本书的第五章讲述事件类指令时,我们将会学习更巧妙的消息机制方法来实现角色之间的互动。

图2-15 指令实现角色对话

为了让故事更生动更精彩,渲染一下故事所发生的场景也是很重要的。在Scratch中很容易做到,只要更换舞台背景就可以实现。如图2-16所示,我们为本故事从背景库中选取“beach rio”这幅图,这样就变成发生在海滩边上的故事了(请见本书配套例程之【第2章05_劝阻托勒密五世.sb2】)。

图2-16 为舞台添加背景 ROEnXVcYASRSlIn/cQN6YmflodmIdF/jxTaxkzMH38s+sb4HH9Aw9LI+RKpU9dAG

点击中间区域
呼出菜单
上一章
目录
下一章
×