项目5 视 觉 特 效

简单地说,视觉特效就是对图片或场景的各种技术处理。
经过特效处理,可以创造许多虚拟的真实场景,最常见的就是
影视剧中各种难以捕捉的镜头。

Mind+软件可以做出丰富的视觉特效,包括颜色、亮度、
马赛克等。本项目中的两个任务分别是学习颜色和亮度的控制
方法,涉及外观模块、事件模块等方面的编程知识,读者可以
结合有趣的案例边玩边学。



任务5.1 百变时装秀



灯光绚丽的舞台上,一名歌手站在舞台中间正在表演,她的服装还可以
不断地变换颜色,似乎在进行一场时装秀。

学会了改变服装颜色,就可以为舞台上更多角色更换服装颜色了,如公
主、王子、精灵等,开始一场百变时装秀。

1

. 演出舞台布置

编写代码之前,首先要根据任务的要求,设置背景和角色。

在背景库中选择“音乐”类中的“舞台聚光灯”图片作为舞台背景。

在角色库中选择“人物”类中的“歌手1”作为角色。调整角色的大小
和位置,完成后如图5-1所示。




图5-1 “歌手”的表演舞台

2

. 使用颜色特效编写代码

通过编程,单击“运行”按钮,舞台上歌手的服装就开始不停地变换颜
色。想要实现颜色变化的视觉效果,可以联想到外观类积木。



(1)颜色特效积木。

Mind+中可以使用的特效都集中在两块特效积木中,它们属于外观类,
标志颜色是蓝紫色。打开编程软件,找到外观类积木,查看外观类积木指令。
可以看到,这里有熟悉的“下一个造型”“将大小增加”等积木块,这些积
木块在之前的项目学习中已经使用过。滑动列表,可以看到两块积木,如
图5-2所示。

仔细观察就会发现,这两块积木中“颜色”部分是可选的,其后带有白
色小三角标识。在以前的学习中,也有类似的指令,还记得是哪些吗?

单击此积木块中的白色小三角,在弹出的下拉菜单中可以看到“亮度”“鱼
眼”“漩涡”“马赛克”等选项,如图5-3所示。可以看出,这些都是角色的
特效设定。







图5-2 颜色特效积木

图5-3 特效下拉选项卡





控制方式上,特效积木包括两种,分别是“特效增加”和“特效设定为”。
时装颜色变换使用的是“特效增加”这一块,要注意区分。

(2)代码编写。

首先拖曳一块“当
被点击”积木放置在代码区,这是程序运行的触发
事件,将“特效增加”积木块拖曳至下方,连接起来,默认参数是25,如图5-4
所示。

单击“运行”按钮,观察运行结果。可以发现,单击“运行”按钮后,
歌手的服装变了一次颜色,就结束了。想要变换更多颜色,只能再运行一次



程序,不能自动地变换颜色。

怎样循环变换颜色呢?使用循环执行就可以了。在控制类积木中找到“循
环执行”积木,拖曳至代码区,如图5-5所示。

单击“运行”按钮,观察运行结果。可以发现,歌手的服装颜色变化太
快了,几乎是在闪动中就变了,太有趣了!

变化太快,怎样才能慢一点呢?增加等待时间就可以了。“等待时间”
积木和“循环执行”积木一样,都属于控制类积木。在列表中找到它,拖曳
到循环内部就可以了,如图5-6所示。










图5-4 使用颜色特效积木

图5-5 使用循环执行

图5-6 添加“等待时间”积木





试一试,改变特效增加积木的参数值会有怎样的视觉效果,能发现规律
吗?改变等待时间,看看不同的等待时间会有哪些影响。

3

. 其他表演者

歌手在表演时,虽然服装颜色可以变化,但是没有动作上的变化,视觉
效果并不完美。进入“造型”界面,可以发现这个角色只有一个造型,因此
不会有造型上的变化。

让更多的表演者来到舞台,一起进行时装秀。需要添加其他角色,选择
一些有造型变化的角色,能让这场时装秀更漂亮。

(1) “公主”角色。

进入角色库,在“人物”类中选择“公主”角色,一位“公主”就出
现在舞台上了。让“公主”变换服装颜色的代码与“歌手”是一样的,按照
图5-6所示的代码为“公主”角色编写程序。

可是,这样的程序可以变换服装颜色,却不能让“公主”变换造型。如



同项目2中企鹅角色走路时需要变换造型一样,此时需要使用“下一个造型”
积木。

在外观类中找到“下一个造型”积木,拖曳到循环执行内部,如图5-7
所示。为了避免两个角色出现相同颜色的服装,可修改“颜色特效增加”积
木中的参数。

(2)更多表演者。

添加其他角色,让他们都来参加百变时装秀!每个角色的控制参照
图5-7,注意修改参数,这样可以呈现更丰富的色彩变换效果。

如图5-8所示,除了“歌手”和“公主”,还添加了“精灵”和“王子”
两个角色,放到舞台上合适的位置,并为他们编写控制代码。







图5-7 “公主”的代码

图5-8 “时装秀”的舞台





任务5.2 一闪一闪亮晶晶



夜空中的星星一闪一闪,好像对着地上的人们眨眼睛。在夜空中看到的
星星有两类,一类是恒星,另一类是行星。其中绝大多数都是遥远的恒星,
恒星是发光的,这些恒星或许比太阳更大、更亮,但是由于距离遥远,因此
我们只看到一点光亮。行星不发光,但是可以反射太阳光,因此也可以在夜
空中看到。星星之所以会“眨眼睛”,与大气层的遮挡有关,地球的大气层
是不断流动变化的,星星距离地球非常远,光线穿过厚厚的大气层时会被遮
挡,发生折射,看起来就是一闪一闪的。



本次任务学习控制角色亮度的方法,使用任务5.1中的特效积木块,通
过复制角色,修改角色参数,当单击“运行”按钮时,呈现夜空繁星闪烁的
视觉效果。

1

. 舞台布置

根据前面所学的步骤,进行舞台背景和角色的选择。先选择“夜空”图
片作为舞台背景,再选择“星星”作为本次项目的角色,完成后的参考图如
图5-9所示。角色默认大小是100,使用鼠标可以自由拖动星星,将其放置
在适当的位置。




图5-9 星星闪烁舞台

2

. 星星闪烁

准备好舞台背景和角色的设置之后,为角色编写代码。想要实现夜空繁
星闪烁的效果,首先使用特效积木块,并使用亮度选项,模拟一颗星星的闪
烁控制,进而做出许多大小不同、亮度不同、闪烁不定的繁星。



(1)亮度特效指令。

特效积木块中,“颜色”选项是默认的特效设置,可以在列表中改为“亮度”
选项,或其他选项,但一般不这么做,而是将积木块拖曳至代码区后,再根
据使用需要更改选项。

与“将大小增加”和“将大小设为”这类积木块类似,特效类积木块也
有两种,分别是“增加”和“设定为”。这两种积木块都可以实现本次任务
的特效,方法虽然相似,也略有不同,本次任务以“设定为”积木块为例。

(2)代码编写。

编写程序最重要的就是养成良好的编程习惯,做到思路清晰,不混乱。
完成代码编写后,单击“运行”按钮,“星星”不停地一闪一闪。

① 一闪一闪:暗和亮。“星星”一闪一闪的效果,实际上是亮度的变化,
一会儿暗一会儿亮。在程序中,暗和亮都是通过参数确定的,还有时间的变
化。二者配合起来才能有一闪一闪的特效。

拖曳一块“将特效设定为”积木至代码区,单击白色小三角,打开选项卡,
选择“亮度”选项,这样就放置了一块亮度特效的积木。同样的方法,再次
拖曳一块同样的特效积木放置在下方,如图5-10所示。

积木默认数值是0,表示星星没有亮度。第一块积木参数不需要修改,
第二块积木控制“星星”亮的状态,修改参数值为200。数值过小亮度变化
不明显,修改参数时应注意观察效果。

② 一闪一闪:等待时间。这里的等待时间就是“一会儿亮,一会儿暗”
中所说的“一会儿”,暗了,等待一会儿变亮了,或者亮了,等待一会儿又变
暗了。如果没有等待时间,很多现象就不容易被眼睛观察到,因为计算机的
运行速度实在太快了,人们的眼睛看到的就是一直暗或一直亮,没有亮度变化。

进入控制类积木列表,第一块积木就是等待积木。将其拖曳到第一块亮
度积木的下方,再拖曳一块积木放到第二块亮度积木的下方,等待积木的默
认时间参数是1秒,如图5-11所示。

想一想,这里有两个等待时间,哪一个时间是暗的等待时间,哪一个时
间是亮的等待时间呢?








图5-10 暗和亮 

图5-11 增加等待时间





③ 不停:循环执行。闪烁不停就是要求循环控制,使用控制类的“循环
执行”积木块。亮度特效指令和等待时间都需嵌套进“循环执行”积木块中。
进入控制类模块列表,找到“循环执行”积木块。拖曳至代码区,悬停在第
一块亮度特效积木上方,当出现能覆盖所有特效指令的阴影时,松开鼠标即
完成,如图5-12所示。




图5-12 增加循环执行

3

. 调试和修改

单击“运行”按钮,观察运行结果。可以看到夜空中的这颗小星星每隔
1秒就会闪烁一次。修改时间参数,可以让闪烁看起来更和谐,更符合实际。
还可以再添加几颗星星,使用不同的闪烁频率,营造“一闪一闪亮晶晶”的
效果,如图5-13所示。

(1)调整等待时间。

调整等待时间可以修改星星闪烁的速度,如暗保持0.2秒,亮保持0.3秒,



会有怎样的闪烁效果,自己试一试。

(2)增加星星。

添加同样的角色有两种方法,一种是在角色库中选择该角色,再为其编
写代码。还有一种是复制的方法。在角色列表区,在要复制的星星角色上方
右击,在弹出的菜单中选择“复制”命令就可以了,如图5-14所示。







图5-13 繁星闪烁示例

图5-14 复制角色





这时,控制程序也会跟随着角色一起被复制。如果想要修改参数,就可以
进入角色修改,省去了拖曳代码的时间。“夜空”中很快就会出现“满天繁星”了。

(3)改变星星大小。

仔细观察会发现,夜空中的星星并不是一样大的。角色中星星的默认大
小是100,舞台下方参数区域的“大小”数值可以直接改变相应星星的大小,
如可以改为50、80、120等。最终呈现效果可以参考图5-13。

任务5.3 扩展阅读:太阳系和星星



我们所居住的地球只是一个微小而普通的成员,它与太阳和其他七大行
星一起构成了太阳系。而太阳系又只是银河系中数以百亿计恒星之一,银河
系则是宇宙中数以千亿计星系之一。

1

. 广阔太阳系

太阳系(solar system)是一个以太阳为中心,受太阳引力约束在一起的



天体系统,包括太阳、行星及其卫星、矮行星、小行星、彗星和行星际物质。
太阳系位于距银河系中心大约2.4万~2.7万光年的位置(银河系的恒星数量
约在1000亿到4000亿之间,太阳只是其中之一)。太阳以220km/s的速度
绕银河系的中心运动,大约2.5亿年绕行一周,地球气候及整体自然界也因
此发生2.5亿年的周期性变化。太阳系结构如图5-15所示。




图5-15 太阳系结构简图

2

. 星星之最

决定人们观察星星是明是暗的,主要有两个因素:一是星星发光能力的
大小,二是星星和人们之间距离的远近。天文学家通常把星星发光的能力分
为25个星等,发光能力最强的比发光能力最差的大约相差100亿倍。离人
们距离近的星星的发光能力强,因此人们看到它就比较亮。可是,即使发光
能力相当强的星星,假如离人类十分遥远,那么它的亮度也许还不及比它的
发光能力差几万倍的星星。星星越亮,星等就越小。

(1)最亮的行星。在地球上,人类肉眼可以看到五大行星,其中最亮的
就是金星。金星的亮度虽然远不如太阳和月亮,但比著名的天狼星(除太阳
外全天最亮的恒星)还要亮14倍,犹如一颗耀眼的钻石。金星不仅亮度很高,
也很特别,它是太阳系内唯一逆向自转的大行星,自转方向与其他行星相反,
是自东向西。因此,在金星上看,太阳是西升东落。

(2)最古老的恒星。自古以来,人们会用“天荒地老”来比喻时间的长
久,可是天荒地老的时间却没有一颗星星的寿命长。在距离地球3.6万光年