1、书写规范
package{
//导包
public class XXX extends XXXx{
public function XXX(){
//构造方法
}
}
}
继承的Sprite和MovieClip的区别
Sprite:是不使用时间轴的用户界面(UI)组件的逻辑基类。
MovieClip:MovieClip 类从以下类继承而来:Sprite、DisplayObjectContainer、InteractiveObject、DisplayObject 和 EventDispatcher。
2、导包
类被调用时,如果不导包,则会报出这个类的异常
3、关于按钮的监听
按钮.addEventListener(MouseEvent.动作(按下,抬起),方法);
private function 方法(event:MouseEvent):void{}
4、开放内部接口(外部可以调用该接口)
ExternalInterface.addCallBack("外部调用",XXXX);
private function XXXX(参数){}
5、开放外部接口(内部调用外部的接口)
ExternalInterface.call("内部调用","参数");
关键:::6、fla文件与as文件的关联
fla中的部件的名称要与as类对应上,在发布设置的flash目录下的脚本边上的设置上将fla文件与as文件关联上
6、关键帧上的帧动画
stop();
startButton.addEventListener(MouseEvent.MOUSE_DOWN,startedMouseDown);
function startedMouseDown(event:MouseEvent):void {
ExternalInterface.call("offAndOn","on");
nextFrame();
}这个是start按钮上的动画
stop();
buttonStop.addEventListener(MouseEvent.MOUSE_DOWN,stopedMouseDown);
function stopedMouseDown(event:MouseEvent):void {
ExternalInterface.call("offAndOn","off");
prevFrame();
}这个是stop按钮上的帧动画
7、将补间动画和fla文件分离,使之编程fla文件和as文件的结合体
当一个补间动画是做好的fla文件时
可以在这个补间动画的帧动画上选上该补间动画,右键'将该动画复制为ActionScript3.0脚本'
import fl.motion.Animator;
var teset_xml:XML = <Motion duration="59" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*">
<source>
<Source frameRate="24" x="285.6" y="526.55" scaleX="1" scaleY="1" rotation="0" elementType="graphic" symbolName="红柱">
<dimensions>
<geom:Rectangle left="-8" top="-2.95" width="68.65" height="315"/>
</dimensions>
<transformationPoint>
<geom:Point x="0.5338674435542606" y="0.4992063492063492"/>
</transformationPoint>
</Source>
</source>
<Keyframe index="0" tweenSnap="true" tweenSync="true">
<tweens>
<SimpleEase ease="0"/>
</tweens>
</Keyframe>
<Keyframe index="58" tweenSync="true" firstFrame="58" y="-316.99999999999994"/>
</Motion>;
var teset_animator:Animator = new Animator(teset_xml, teset);
teset_animator.play();
可以这样写
package{
import flash.display.MovieClip;
public class XXX{
private var teset_xml:XMl;
private var teset_xml_a:Animator;
public function XXX(){
teset_xml = <Motion duration="59" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*">
<source>
<Source frameRate="24" x="285.6" y="526.55" scaleX="1" scaleY="1" rotation="0" elementType="graphic" symbolName="红柱">
<dimensions>
<geom:Rectangle left="-8" top="-2.95" width="68.65" height="315"/>
</dimensions>
<transformationPoint>
<geom:Point x="0.5338674435542606" y="0.4992063492063492"/>
</transformationPoint>
</Source>
</source>
<Keyframe index="0" tweenSnap="true" tweenSync="true">
<tweens>
<SimpleEase ease="0"/>
</tweens>
</Keyframe>
<Keyframe index="58" tweenSync="true" firstFrame="58" y="-316.99999999999994"/>
</Motion>;
teset_xml_a = new Animator(teset_xml, teset);
teset_xml_a.play();
}
}
}
8、监听帧动画
当运动到某一帧的时候在该帧上做监听
代码dispatchEvent(new Event("redText"));
as类中的代码
this.addEventListener("redText",redText);
private function redText(e:Event):void {
peak.y = 386.5 - (Number(redHeight)*315)/(70*2);
peak.text = redHeight;}
package{
//导包
public class XXX extends XXXx{
public function XXX(){
//构造方法
}
}
}
继承的Sprite和MovieClip的区别
Sprite:是不使用时间轴的用户界面(UI)组件的逻辑基类。
MovieClip:MovieClip 类从以下类继承而来:Sprite、DisplayObjectContainer、InteractiveObject、DisplayObject 和 EventDispatcher。
2、导包
类被调用时,如果不导包,则会报出这个类的异常
3、关于按钮的监听
按钮.addEventListener(MouseEvent.动作(按下,抬起),方法);
private function 方法(event:MouseEvent):void{}
4、开放内部接口(外部可以调用该接口)
ExternalInterface.addCallBack("外部调用",XXXX);
private function XXXX(参数){}
5、开放外部接口(内部调用外部的接口)
ExternalInterface.call("内部调用","参数");
关键:::6、fla文件与as文件的关联
fla中的部件的名称要与as类对应上,在发布设置的flash目录下的脚本边上的设置上将fla文件与as文件关联上
6、关键帧上的帧动画
stop();
startButton.addEventListener(MouseEvent.MOUSE_DOWN,startedMouseDown);
function startedMouseDown(event:MouseEvent):void {
ExternalInterface.call("offAndOn","on");
nextFrame();
}这个是start按钮上的动画
stop();
buttonStop.addEventListener(MouseEvent.MOUSE_DOWN,stopedMouseDown);
function stopedMouseDown(event:MouseEvent):void {
ExternalInterface.call("offAndOn","off");
prevFrame();
}这个是stop按钮上的帧动画
7、将补间动画和fla文件分离,使之编程fla文件和as文件的结合体
当一个补间动画是做好的fla文件时
可以在这个补间动画的帧动画上选上该补间动画,右键'将该动画复制为ActionScript3.0脚本'
import fl.motion.Animator;
var teset_xml:XML = <Motion duration="59" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*">
<source>
<Source frameRate="24" x="285.6" y="526.55" scaleX="1" scaleY="1" rotation="0" elementType="graphic" symbolName="红柱">
<dimensions>
<geom:Rectangle left="-8" top="-2.95" width="68.65" height="315"/>
</dimensions>
<transformationPoint>
<geom:Point x="0.5338674435542606" y="0.4992063492063492"/>
</transformationPoint>
</Source>
</source>
<Keyframe index="0" tweenSnap="true" tweenSync="true">
<tweens>
<SimpleEase ease="0"/>
</tweens>
</Keyframe>
<Keyframe index="58" tweenSync="true" firstFrame="58" y="-316.99999999999994"/>
</Motion>;
var teset_animator:Animator = new Animator(teset_xml, teset);
teset_animator.play();
可以这样写
package{
import flash.display.MovieClip;
public class XXX{
private var teset_xml:XMl;
private var teset_xml_a:Animator;
public function XXX(){
teset_xml = <Motion duration="59" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*">
<source>
<Source frameRate="24" x="285.6" y="526.55" scaleX="1" scaleY="1" rotation="0" elementType="graphic" symbolName="红柱">
<dimensions>
<geom:Rectangle left="-8" top="-2.95" width="68.65" height="315"/>
</dimensions>
<transformationPoint>
<geom:Point x="0.5338674435542606" y="0.4992063492063492"/>
</transformationPoint>
</Source>
</source>
<Keyframe index="0" tweenSnap="true" tweenSync="true">
<tweens>
<SimpleEase ease="0"/>
</tweens>
</Keyframe>
<Keyframe index="58" tweenSync="true" firstFrame="58" y="-316.99999999999994"/>
</Motion>;
teset_xml_a = new Animator(teset_xml, teset);
teset_xml_a.play();
}
}
}
8、监听帧动画
当运动到某一帧的时候在该帧上做监听
代码dispatchEvent(new Event("redText"));
as类中的代码
this.addEventListener("redText",redText);
private function redText(e:Event):void {
peak.y = 386.5 - (Number(redHeight)*315)/(70*2);
peak.text = redHeight;}
利用该方法就可以将动画在帧上分开,可以达到在中间的某一帧上显示动画,而不是跳到某一帧。
9、addFrameScript
this.addFrameScript(帧数,方法)
这个方法主要是在第几帧上添加什么方法。