欢迎光临
我们一直在努力

Scratch第十九讲:游戏特效的小技巧

———— / 作品赏析 / ————

今天CC哥引用国外一个小朋友做的小游戏,来跟大家讲解一下如何把一个小游戏增加一些特效来变得更好玩和更好看。这个小游戏并不复杂,但是CC哥自己玩了半天,仍然没有突破网友玩的最高分,再接再厉!

CC哥第一眼被这个小游戏吸引的就是这个小球的虚影,碰撞游戏很多,但是大多没有虚影,第二个CC哥觉得有意思的是,当我点击结束按钮时,游戏能恢复到初始画面,这个怎么实现的?今天CC哥带着大家一步一步来分析这个小程序,看看亮点在哪里。

———— / 正式开讲 / ————

我么从第一步看,当程序开始的时候会有一个程序封面,就跟一本书的封面一样,封面越漂亮,越吸引大家去玩,也就是作品的第一印象,所以很值得用心设计。

———— / 程序封面角色代码 / ————

通常,程序的封面会显示1~2面后会慢慢消失。进入初始界面。那这个慢慢消失的小技巧是怎么做的?

大家看一下代码,中间的一段10次的循环就是让封面逐渐虚化消失的关键。这里注意,虚像这个参数代表了透明度,0为不透明,100为完全透明。当参数每次增加10到100的时候,封面就完全虚化掉了。然后广播一个‘begin’,通知初始界面可以显示了。那么最后一段循环是做什么用的?

程序技巧:按了停止按钮后,程序的执行。

通常按了停止按钮之后,理论上所有的程序都会停止,但是值得注意的是,我们在程序中给角色做的任何特效的改变,也会回到角色的初始状态。所以这段程序就是保证程序封面时刻显示在最上方,只是因为是透明的,所以你看不见。(完全透明不等于隐藏)所以当你在任何时候按停止按钮的时候,程序封面回到初始状态,特效消失,也就重新显示出来了。

———— / 程序初始化界面(结束界面)代码 / ————

这个角色包含了两个造型,一个是程序的初始界面,一个是程序的结束界面。请注意,在结束界面里面有一个黄色的0,这也是一个小技巧。其实它是一个变量。变量在程序界面上有三种显示形式,其中一种就是只显示变量的值,不显示变量的名称。(双击变量可以切换显示方式)通常游戏都会有记分,等游戏结束后显示一下得分。这个小技巧就是,把变量拖到要显示得分的位置上,在程序结束后显示得分。

程序部分就没什么好介绍了,当收到开始和结束的消息的时候,进行造型切换。在收到开始的时候等待鼠标按下,鼠标按下后隐藏角色,通知其他角色程序开始。当游戏失败后,将角色显示出来,然后把造型切换到结束造型。

———— / 程序初始化界面(结束界面)代码 / ————

四个挡板的代码比较简单,很好理解。大家注意到没?这四个挡板的位置是根据鼠标移动的,两个竖的挡板始终x位置是不变的,而y的位置始终是跟随鼠标y的位置。而横向挡板的y的位置是不变的,而x的位置始终是跟随鼠标x的位置。

这里不得不佩服编程者的想象力,咱们平常做这种弹球小游戏的时候,挡板通常只做一个,而这个作者用了这么简单的方法,就同时控制了4个挡板,将咱们平常的弹球小游戏的好玩性大大提高了。所以编程不是要做得多复杂,而是看你有多大的想象力!经常国内的培训班一会教大家做疯狂小鸡了,一会跑酷了,一会我的世界了,程序越教越复杂,好像学会了很多东西,但是却没有想想这些都是一些别人做过的游戏了,并不能培养孩子们的想象力。所以CC哥愿意用国外的一些例子,不是因为这些例子有多复杂,而是让大家学习一下他们的想象力。

———— / 小球的代码 / ————

小球的代码部分为主要代码,其中最主要的一部分代码是正常运行的小球代码:跟挡板碰撞后的代码和没有碰到边缘或挡板时正常移动的代码。

这段代码比较简单,但是注意两个点,第一是每次碰到档板后180度反转,同时加上一个随机偏差。这样既保证了小球能够反弹回来,同时方向还能发生一定范围的随机转向。第二是为了增加游戏的趣味性,一定要适当的不断增加难度,这里面就是小球的速度会越来越快。

另一部分代码是小球碰到边界时游戏结束的代码。

———— / 小球的特效 / ————

本讲座一开始的时候CC哥就提到了这个游戏的一个亮点,就是小球的虚影,我们来看作者是怎么实现的。

这段程序CC哥都很佩服,非常简单,构思却非常巧妙。作者很巧妙的用了克隆体的概念,从程序开始就不断的克隆自己,然后让每一个克隆体快速的不断虚化到透明后删除克隆体,这样就使小球在运动的时候,不断的在身后留下一个个不断虚化的克隆体。

———— /总结 / ————

好了今天的程序讲解就到这里,大家有没有通过这个作品看到一个好作品的创意。所以CC哥这个讲座想告诉大家的是一个好的程序不在乎到底有多复杂,而想象力才是王道!

超乎想象的使用体验

赞(62)
分享到: 更多

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址