📄 samplemotionxml.as
字号:
package org.kingda.book.display
{
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.Event;
import fl.motion.Animator;
import flash.events.MouseEvent;
public class SampleMotionXML extends Sprite
{
private var _star:StarShape;
private var _rectA:RectSprite;
private var _rectB:RectSprite;
private var _xml:XML;
private var _animator:Animator;
public function SampleMotionXML() {
initView(); //生成视图
loadMotionXML();//加载Motion XML
}
private function initView():void {
//生成星星
_star = new StarShape();
_star.x = 200, _star.y = 50;
addChild(_star);
//生成两个按钮
_rectA = new RectSprite("Go", 0xffcc00);
_rectA.x = 50, _rectA.y = 200;
addChild(_rectA);
_rectA.addEventListener(MouseEvent.CLICK, moveStar);
_rectB = new RectSprite("Stop", 0xffcc00);
_rectB.x = 250, _rectB.y = 200;
addChild(_rectB);
_rectB.addEventListener(MouseEvent.CLICK, stopStar);
}
private function loadMotionXML():void {
var request:URLRequest = new URLRequest("fla/motion_xml.XML");
var loader:URLLoader = new URLLoader();
//加载完后,调用xmlLoaded方法
loader.addEventListener(Event.COMPLETE, xmlLoaded);
loader.load(request);
}
private function xmlLoaded(evt:Event):void {
trace ("loaded");
//将读取到的XML文本转成XML对象
_xml = new XML(evt.target.data);
trace (_xml);
//生成Animator对象
_animator = new Animator(_xml, _star);
}
private function moveStar(evt:MouseEvent):void {
if (_animator == null) {
trace ("Motion XML尚未下载好,Animator没有初始化");
return;
}
_animator.play(); //播放
}
private function stopStar(evt:MouseEvent):void {
if (_animator == null) {
trace ("Motion XML尚未下载好,Animator没有初始化");
return;
}
//看看动画是否正在播放
if (!_animator.isPlaying) {
trace ("动画尚未播放。");
return;
}
_animator.stop();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -