相信很多小伙伴都玩过大富翁游戏中,当阿土仔经过某块地的时候,会停下来购买土地或建栋房子,然后接着往前走。这样的运动能否使用Hype 4进行制作呢?答案是可以的,而且非常简单。
接下来,小编教导小伙伴如何制作一个简单的动画来模拟阿土仔的运动行为。动画的情节是这样的:矩形对象在运行经过触发点的时候,有一个弹窗跳出,告知矩形对象的背景颜色将被改变。关闭弹窗后,矩形对象背景颜色改变,并继续运行到终点。动画效果请参考图1。
一、创建矩形对象运动
矩形对象从左到右水平运动,持续时间为2s。制作过程比较简单,步骤就不详述了,操作过程小伙伴可以参考图2。
二、给矩形对象设置id名
选择矩形对象,打开“身份检查器”,在“唯一的元素ID”中输入obj1,给矩形的id命名为obj1。这个id名非常重要,在JavaScript函数里通过它获取到矩形对象后,才能对矩形对象进行操作。
三、添加触发关键帧并创建JavaScript函数
创建JavaScript函数非常简单,具体操作小伙伴可以参考图4。
四、编写函数程序
1、获取矩形对象
不同于网页中使用JavaScript,Hype 4获取矩形对象是在hypeDocument中,因此直接使用API函数hypeDocument.getElementById(‘obj1’)就可以获取到矩形对象。需要注意的是,小括号里单引号包着的“obj1”是刚才设置的矩形的id名称;等号左边的obj是指矩形对象。const是对常数变量进行赋值的命令。
2、改变矩形背景颜色
矩形对象的背景颜色具体说就是“矩形的样式的背景颜色”,翻译成JavaScript语言为“obj.style.backgroundColor”,小句点表示“的”。用等号代表赋值,就是把等号右边代表某个颜色的代码赋值给矩形的背景颜色,实现改变矩形的背景颜色。
3、alert弹窗
alert是弹窗命令,单引号里的文字是弹窗显示的内容。弹窗出现时会暂停矩形运动,关闭弹窗后,矩形会继续运动。具体效果如图7。
4、暂停和继续矩形运动
从图7的运动效果来看,当关闭弹窗后,矩形改变背景颜色并瞬间运动终点,没有显示运动的过程,不是预想的效果。造成的原因是:弹窗出现后,表面看矩形是停止了运动,但时间指示器还是继续往前运动的。
因此在弹窗出现前需要先暂停矩形运动,在弹窗关闭后继续矩形运动。
在API函数列表中,hypeDocument.pauseTimelineNamed(timelineName)是暂停指定时间线运动,hypeDocument.continueTimelineNamed(timelineName, direction, canRestartTimeline)是继续暂停的时间线运动。
回到当前的函数,在alert命令前插入暂停时间线函数hypeDocument.pauseTimelineNamed(‘Main Timeline'),在alert命令后插入继续时间线函数hypeDocument.continueTimelineNamed(‘Main Timeline', hypeDocument.kDirectionForward, false),就可以实现预想的运动效果了。
五、总结
Hype 4的API函数库非常强大,它是专门为Hype制作动画而设计的,如果用原生JavaScript语言来实现的话,将非常复杂。通过使用Hype 4的API函数,几行命令就使设计的动画实现了预想的效果。
最后,小编提醒小伙伴,记得更改JavaScript的函数名称。