flash动画与动作脚本的关系
时间:2012-12-16 12:52来源:卓想空间http://www.zxgzs.com 作者:QQ:610929375 点击: 次
只有这样,才能在Flash动画补间,你可以使用ActionScripting改变的任何对象 - 替换 - 在某些情况下,补间动画和补间形状的位置或形状。
在这个例子中,我们将显示在一个单一的框架,创建一个无休止的动画脚本循环,每次推进X(水平)位置的一个影片剪辑元件,Flash会检查帧(每秒12次在默认的帧速率)。
开始创建您的主舞台上的影片剪辑。 您不需要命名实例,但你可以,如果你想,只是为了形成良好的生活习惯。
右键单击上的影片剪辑,并选择“打开”动作“面板中的动作。 首先,我们要参考中的影片剪辑的位置设置在舞台上的电影第一次加载时,我们需要一个onClipEvent事件 。
onClipEvent事件(负载){
}
我们正在使用的负载的功能,因为我们只希望它移动到起始位置,当电影第一次打开,而不是每次一遍又一遍,单一的框架,因为它循环周期。
现在,我们将切换到专家模式 ,添加的代码,告诉Flash如何定位时加载的影片剪辑:
onClipEvent事件(负载){
this._x = 10;
}
_x是升序从舞台的左边缘的像素,计数的对象的水平位置。 所以,我们刚刚告诉闪存的电影负载时,需要考虑当前的影片剪辑-简称本 ,从而指向Flash中的动作脚本的符号被分配到- ,并设置其水平位置其中心的点是10个像素的左边缘的阶段。 这就像笛卡尔坐标系,当图形的平面上使用(的x,y)。 我们刚刚设置x为10。
目前的脚本设置的出发点。 现在,我们需要添加新的脚本将符号距离的起点,一帧的时间。 由于我们只使用一个单一的框架,但在同样的帧每秒12次(12 fps的帧速率的网络标准)造成闪存周期,这意味着我们需要告诉Flash做一些事情,每次传递超过该帧。 为此,我们需要另一个onClipEvent的。
onClipEvent事件(负载){
this._x = 10;
}
onClipEvent事件(enterFrame事件){
}
使用enterFrame事件不正是我上面描述的:它检查的onClipEvent每次在一个新的框架,或重复相同的帧的电影周期内的功能。
我们已经设置了的时候,现在我们需要设置什么:
onClipEvent事件(负载){
this._x = 10;
}
onClipEvent事件(enterFrame事件){
this._x = this._x 5;
}
之前,我们说,this._x(当前符号的水平位置)是在一个点的10个像素,从左侧的阶段,现在我们告诉Flash,每次进入该帧,它需要检查采取的姿势的符号,并添加到它的5个像素,将它移动到右侧的5个像素。 这是滑动每秒60像素,因为,而非重置,而不是建立在自身。 为了简化:
说我们12帧,而不是一个。 我们会给你打电话的位置的符号P.
第1帧:P = 10,P = P = 5,或P = 10 5,所以,P = 15。
第2帧:P = P +5,或P = 15 +5,P = 20。
第3帧:P = P +5,或P = 20 +5,P = 25。
框架4:P = P 5,或P = 25 5,因此P = 30。
第5帧:P = P +5,或P = 30 +5,所以P = 35。
第6帧:P = P +5,或P = 35 +5,P = 40。
相框7:P = P +5,或P = 40 +5,P = 45。
框8:P = P +5,或P = 45 +5,所以P = 50。
框架9:P = P 5,或P = 50 5,因此P = 55。
第10帧:P = P +5,或P = 55 +5,所以P = 60。
第11帧:P = P +5,或P = 60 +5,所以P = 65。
框12:P = P +5,或P = 65 +5,所以P = 70。
因此,在开始的一个第二位置,P为10个像素的距离的左边缘的阶段; second/12帧结束时,P循环通过对ActionScript这么多次,P是70像素远离的阶段的左边缘。
将工作,如果你只是想你的对象一次移动之前的脚本,Flash影片将无法识别的远/右边缘的阶段,因此该对象将只保留移动和ActionScript后不久骑自行车的视线,除非我们添加某种条件,以确定何时应该停止不动的符号。 为此,我们可以使用一个if语句 ,插在里面的onClipEvent(enterFrame事件)和嵌套以外的this._x = this._x +5:
onClipEvent事件(负载){
this._x = 10;
}
onClipEvent事件(enterFrame事件){
(this._x <= 625)
this._x = this._x 5;
}
}
对于我的if语句的条件下,我已经告诉了Flash,这只是我的符号应该移动到其中心点的位置向右移5个像素,如果是小于或等于625 pixesl从舞台的左边缘。 这可以防止符号更远的地方移动到X坐标625。
最后,我们需要告诉Flash做什么,在所有其他现有不符合条件的if语句(在这种情况下,this._x大于625)。 要做到这一点,添加一个新的else语句下面和外面的if语句,但仍嵌套的onClipEvent(enterFrame事件):
onClipEvent事件(负载){
this._x = 10;
}
onClipEvent事件(enterFrame事件){
(this._x <= 625)
this._x = this._x 5;
}
其他{
this._x = 10;
}
}
这告诉Flash的是,在所有其他条件下,当this._x不小于或等于625,则this._x需要返回到x坐标10,影片剪辑符号回到开始。
(责任编辑:卓想空间http://www.zxgzs.com)
上一篇:没有了
下一篇:Flash动画2:形状补间