济南少儿编程二年级的孩子就能做的动画效果

北京白癜风治疗方法 http://m.39.net/pf/bdfyy/bdfal/

年龄小不适合学习编程这是理由吗?并不是,为什么别人家的孩子都能自己通过编程开发游戏而自己的孩子还在玩游戏呢?

你的孩子和别人的孩子只缺了一个东西,就是编程!

好啦!今天我们就看下二年级小同学如何通过编程实现一个海底世界的动画效果吧!

先看效果图:

看完之后啥反应呢?为啥不动呀?海洋世界最起码得让水泡不停地往上浮动是不是?

因为他是背景图片所以不会浮动!那问题来了,我们得让他浮动起来才能更加的生动是不是?

首先要让他浮动得思考相应的物理知识。

1:气泡在浮起的时候,随着压强的降低,是不断变大的。

2:因为变大,受到的浮力也不断增大,所以气泡是不断加速上浮的,而且加速度越来越快的。

3:因为受到各种外部环境影响,气泡是不可能直线上浮的,是在上浮过程中左右晃动的。

有了这些物理知识,那我们写程序的时候就必须符合这个条件才行。

看到这里大家明白没有?刚才你看到的游戏视频里的气泡可不是什么动图和造型切换,而是用编程做出来的。

通过这个动图大家观察出来气泡怎么产生的了吗?

气泡的程序设计

首先这个是用克隆体来做的:

1:第一步要设计好气泡的样子和冒出的位置

气泡就是一个绿色的小点。CC哥构想有海底冒出三个气泡的位置,直接copy了三个气泡的角色,这样可以简化编程。这三个角色的代码都是一模一样的。

2:不断克隆自己

克隆的时间间隔,我用了讲过的随机数技巧,平常的随机数只能取整数,但是想要的随机的时间间隔很短,大概在0.02秒和0.06秒之间,所以我们只要把取得随机数除以50,就可以得到小数的随机数。

3:气泡上升过程中的变化:

这段代码主要注重两部分:

a:上升加速

上升加速有两种方法,一种是用加法,一种是用乘法。区别就是固定加速度还是变加速度。比如我们平常模拟重力效果时就用加法,我们会把上升速度每次循环时固定增加1或-1,这就是固定加速度。而乘法是我们每次把加速度的值每次循环乘以一个系数,那么这种变化就会产生累积,会越来越大。比如:1.1*1.1*1.1*1.1*1.1*1.1*1.1=1.95。这就是炒股里说的复利,每年只赚10%,七年下来就赚翻翻了。

另外考虑多一个细节,就是每次气泡冒出来的大小是不固定的,有的出来小些,有的大些。

为什么这么考虑?是想让气泡在上升的过程中有交错的效果,比如大的气泡升的快,就会超过小的气泡,视觉效果就更真实。所以初始的上升速度是跟气泡的大小有关系的。

b:水平晃动

跟晃动部分相关的代码:

1:晃动只要处理X轴的运动效果就可以。

2:用正弦函数就可以得到一个-1~1之间的变换值。再配上Y轴的运动,就会产生螺旋上升的效果。

3:设置晃动变量增加的数值,是为了控制气泡群的宽度,晃动增加的越快,气泡群的直径就越窄。

4:在每次循环的运动过程中用了随机数来变换振幅,这样就可以造成上升过程中的随机运动效果,而不是一个标准的螺旋上升曲线。

这是老的被鲨鱼吃掉效果,是不是简陋的想哭呀。

大家可以找一下,在我们角色库里面还有一个张嘴的大鲨鱼,我们也可以使用哦。

这里面也有细节要处理:

1:鲨鱼有两种,一种是固定巡航的鲨鱼,沿着固定路径在走,那么如果碰到小鱼的时候是背面碰到的,那么鲨鱼要转身吃掉小鱼。

2:在吞吃小鱼的时候,是嘴部吞的,嘴部并不是鲨鱼的中心位置,所以程序处理要退20步。

3:要配音

过程控制

以前处理程序流畅,结束的时候就是一个停止全部脚本。

其实配合好消息命令,还有这些停止命令,就可以很有效的控制游戏的进程。而游戏就用这些命令进行进程控制,给小鱼附加上生命值,变成了一个完整的游戏。

同学们,你们学会了吗?



转载请注明:http://www.abuoumao.com/hykz/3493.html

网站简介| 发布优势| 服务条款| 隐私保护| 广告合作| 网站地图| 版权申明

当前时间: 冀ICP备19029570号-7