用Construct 3做个小动画

开始

今天,我们来用C3来做个小动画,(为啥用c3?因为不用怎么学啊)为啥想到做个小动画呢,因为失业在家闲的呗,所以 想到了和广大的**网友一起来玩。大爷一起来玩嘛,反正是个在线的应用,召唤你个链接Construct 3 点你。

真的开始了

首先新建个项目

起个低调的名字,其他,反正也不懂就都默认吧 进去之后长这 diao样

哇!一大堆的按钮,一大堆的选项。你以为我会给你介绍吗?偏不

直接就开始了,惊不惊喜

来来来,随便找块地,双击,duang的一下出现一个框,你说神不神奇

找到Sprite新建一个精灵对象,取个好听的名字

然后 插入(嗯 插入 power),接着,你会发现你变了,不,你的鼠标变了,变成十字了,接下来懂了吧,问你插哪儿呢。大老爷们的,随便插吧。

又是duang的一下,又出来一个框

顺势就画了一个圆,贼正,有没有(按住shift可以画正圆的小技巧大家都知道吧)

接下来,就是关键的操作了

球出来了,开不开心,点击标签栏上的小三角还可以预览一下,是不是更开心了

把球拖动到虚线框外面,这样我们就看不见它了,为啥要让它看不见,因为我们要动态的创建它,一个球有什么意思,男人起码有两个球。

接下来,我们还需要4面墙

墙还用画吗,直接填充不就行了,反正创建之后可以随便改大小,我真是一个天才

这才一堵墙啊,其他3堵怎么办,又得从头开始吗?小傻瓜,程序员最重要的本领,当然是CV大法好呀(选中之后直接CV,也可以按住CTRL拖动)

真是完美的布局(垂直的墙,请使用旋转)

让我添加最后一个精灵,一条线

完美,接下来让我们给所有的精灵添加不同的行为

随便选中一堵墙

墙嘛,当然就是个固体嘛,添加完事

依样画葫芦,我们给球添加Bullet属性(让子弹飞),线添加Pin属性

每当我们添加新的行为后,精灵就会多一些属性让我们编辑。

选中球,把Bounce off solids这个勾勾上,这样我们的球撞到墙这种有solid属性的东西后就会反弹,把球放在可视区域内,预览一下,是不是已经有点意思了

又来一步关键动作,在你的右边栏里,找到你的球,把它添加到一个family里(听说family功能收费,不过注册一下可以试用,别告诉我到现在你都没注册)

差不多了,到正戏了

接下来我们开始写事件了,好high哟,感觉人生已经到达了高潮

来切换到事件表

我们先添加一个全局变量,管理我们待会要创建的球的数量

随便找个地方右击

非常完美

好我们开始写bug,不,写事件吧,双击...duang

System -> Next

On start of layout -> Next 完成一半了,前面部分是约束条件,后面的是具体的行为,还是挺语义化的嘛 点击旁边的“Add action”或者选中某条件下使用快捷键a,添加一条行为

还是和上面一样选择 System->Create Object 出现下面的框

都很简单对吧,创建一个对象,我要20个球,Layer决定放在那一层(现在就一层,就是0),X和Y决定位置,ViewportWidth和ViewportHeight方法获得某个Layer的可是范围的宽和高

名字起得太长,要敲好多呀,容我改个名字

运行一下看看,才一个球啊。所以,我们得再加个条件,循环20次

选中我们的条件,右击Add anothor condition或者按c键

System->Repeat 填入我们的变量MAX_NUM

瞅一瞅,数一数二亖六七八,没毛病20个球

现在我们已经有20个球了 就是单调了点,他们只会从左边撞到右边,再回来(像不像你平常的工作),所以我来加点料

添加action,选择你的球(particle -> Set angle)填上random(360)

再来一次,particle ->Set speed random(100,200)

很好,现在我们有了随机的角度和随机的速度

有点样子了,现在我们让所有距离小于40的两小球之间连上线

添加一条新的事件点击 Add event System -> For Each ->particle

现在我们给这个条件加子事件,为啥要加子事件,因为每次遍历我们要干两件事,给所有相距小于40的两小球连条线,利用线的Pin属性固定线的左端随着其中一个小球的移动而移动,并记录匹配到的小球b的ID和线的id给小球a(知道为啥用family了吧,就为了可以区分出小球a和小球b)

particle -> Set value -> matchingUID particleFamilies.UID

System -> Create object

particle -> Set value -> lineUID line.UID

line -> Pin to object -> particle

line -> Set width distance(particle.X,particle.Y,particleFamilies.X,particleFamilies.Y)(distance方法可以计算俩个点之间的距离)

line -> Set angle toward position particleFamilies.X particleFamilies.Y

为了记录这两个值,我们需要给小球增加实例变量

选中小球

增加两个数字类型的变量 matchingUID,lineUID

另一件事就是,把连接俩个小球的线的尺寸动态的设置成两个球之间的距离,并旋转其角度;当两球的距离超过150时,销毁线(或者添加Fade行为增加一点动画效果)

注意!!!

添加子事件时请选中整个条件框,不然你的右击菜单中不会有子事件(或者使用快捷键s)

System -> Pick by comparison

哈哈哈 这就差不多了,贴张整体图跑路

最后 贴上工程文件

链接: pan.baidu.com/s/1xeo81oWE…

提取码: yp84

你可能感兴趣的:(用Construct 3做个小动画)