了解如何将 ActionScript 中的 FrameScript 代码转换为 HTML5 Canvas 中的 JavaScript 代码.
ActionScript 到 HTML5 代码片段的映射
下面是 FrameScript/ActionScript 代码的等效 JavaScript/HTML5 代码片段列表:
动作 |
ActionScript |
HTML5 |
停在此帧 |
stop(); |
this.stop(); |
单击以前往帧并停止 |
gotoAndStop(5); |
this.gotoAndStop(5); |
单击以前往帧并播放 |
gotoAndPlay(5); |
this.gotoAndPlay(5); |
单击以前往某个网页 |
navigateToURL(new URLRequest("http://www.adobe.com"), "_blank");
|
window.open("http://www.adobe.com", "_blank"); |
自定义鼠标光标 |
function fl_CustomMouseCursor(event:Event) { instance_name_here.x = stage.mouseX; instance_name_here.y = stage.mouseY; } Mouse.hide();
|
function fl_CustomMouseCursor() { this.btnNavigate.x = stage.mouseX; this.btnNavigate.y = stage.mouseY; this.instance_name_here.y = stage.mouseY; |
播放影片剪辑 |
instance_name_here.play(); |
this.instance_name_here.play(); |
停止影片剪辑 |
instance_name_here.stop(); |
this.instance_name_here.stop(); |
单击以隐藏对象 |
instance_name_here.addEventListener(MouseEvent.CLICK, fl_ClickToHide);
function fl_ClickToHide(event:MouseEvent):void { instance_name_here.visible = false; } |
this.instance_name_here.addEventListener("click", fl_ClickToHide.bind(this));
function fl_ClickToHide() { this.instance_name_here.visible = false; } |
显示对象 |
instance_name_here.visible = true; |
this.instance_name_here.visible = true; |
单击以定位对象 |
instance_name_here.addEventListener(MouseEvent.CLICK, fl_ClickToPosition);
function fl_ClickToPosition(event:MouseEvent):void { instance_name_here.x = 200; instance_name_here.y = 100; } |
this.instance_name_here.addEventListener("click", fl_ClickToPosition.bind(this));
function fl_ClickToPosition() { this.instance_name_here.x = 200; this.instance_name_here.y = 100; }
|
单击以显示文本字段 |
instance_name_here.addEventListener(MouseEvent.CLICK, fl_ClickToPosition);
var fl_TF:TextField; var fl_TextToDisplay:String = "Lorem ipsum dolor sit amet.";
function fl_ClickToPosition(event:MouseEvent):void { fl_TF = new TextField(); fl_TF.autoSize = TextFieldAutoSize.LEFT; fl_TF.background = true; fl_TF.border = true; fl_TF.x = 200; fl_TF.y = 100; fl_TF.text = fl_TextToDisplay; addChild(fl_TF); } |
this.instance_name_here.addEventListener("click", fl_ClickToPosition.bind(this));
var fl_TF = new createjs.Text(); var fl_TextToDisplay = "Lorem ipsum dolor sit amet.";
function fl_ClickToPosition() {
fl_TF.x = 200; fl_TF.y = 100; fl_TF.color = "#ff7700"; fl_TF.font = "20px Arial"; fl_TF.text = fl_TextToDisplay; this.addChild(fl_TF); } |
鼠标单击事件 |
instance_name_here.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);
function fl_MouseClickHandler(event:MouseEvent):void |
this.instance_name_here.addEventListener("click", fl_MouseClickHandler.bind(this));
function fl_MouseClickHandler() |
鼠标悬停事件 |
instance_name_here.addEventListener(MouseEvent.MOUSE_OVER, fl_MouseOverHandler);
function fl_MouseOverHandler(event:MouseEvent):void |
var frequency = 3; stage.enableMouseOver(frequency); this.instance_name_here.addEventListener("mouseover", fl_MouseOverHandler);
function fl_MouseOverHandler() |
鼠标离开事件 |
instance_name_here.addEventListener(MouseEvent.MOUSE_OUT, fl_MouseOutHandler);
function fl_MouseOutHandler(event:MouseEvent):void |
var frequency = 3; stage.enableMouseOver(frequency); this.instance_name_here.addEventListener("mouseout", fl_MouseOutHandler);
function fl_MouseOutHandler()
|
水平移动 |
instance_name_here.x += 100; |
this.instance_name_here.x+=100; |
垂直移动 |
instance_name_here.y += 100; |
this.instance_name_here.y+=100; |
旋转一次 |
instance_name_here.rotation += 45; |
this.instance_name_here.rotation+=45; |
不断旋转 |
instance_name_here.addEventListener(Event.ENTER_FRAME, fl_RotateContinuously);
function fl_RotateContinuously(event:Event) { instance_name_here.rotation += 10; } |
this.addEventListener("tick",fl_RotateContinuously.bind(this));
function fl_RotateContinuously(){ this.instance_name_here.rotation+=10; } |
水平动画移动 |
instance_name_here.addEventListener(Event.ENTER_FRAME, fl_AnimateHorizontally);
function fl_AnimateHorizontally(event:Event) { instance_name_here.x += 10; } |
this.addEventListener("tick", fl_AnimateHorizontally.bind(this));
function fl_AnimateHorizontally() { this.instance_name_here.x+=10; } |
动画垂直移动 |
instance_name_here.addEventListener(Event.ENTER_FRAME, fl_AnimateVertically);
function fl_AnimateVertically(event:Event) { instance_name_here.y += 10; } |
this.addEventListener("tick", fl_AnimateVertically.bind(this));
function fl_AnimateVertically() { this.instance_name_here.y+=10; } |
淡入影片剪辑 |
instance_name_here.addEventListener(Event.ENTER_FRAME, fl_FadeSymbolIn); instance_name_here.alpha = 0;
function fl_FadeSymbolIn(event:Event) { instance_name_here.alpha += 0.01; if(instance_name_here.alpha >= 1) { instance_name_here.removeEventListener(Event.ENTER_FRAME, fl_FadeSymbolIn); } } |
this.addEventListener('tick', fl_FadeSymbolIn.bind(this)); this.instance_name_here.alpha = 0;
function fl_FadeSymbolIn() { this.instance_name_here.alpha += 0.01; if(this.instance_name_here.alpha >= 1) { this.removeEventListener('tick', fl_FadeSymbolIn.bind(this)); } } |
淡出影片剪辑 |
instance_name_here.addEventListener(Event.ENTER_FRAME, fl_FadeSymbolOut); instance_name_here.alpha = 1;
function fl_FadeSymbolOut(event:Event) { instance_name_here.alpha -= 0.01; if(instance_name_here.alpha <= 0) { instance_name_here.removeEventListener(Event.ENTER_FRAME, fl_FadeSymbolOut); } } |
this.addEventListener('tick', fl_FadeSymbolOut.bind(this)); this.instance_name_here.alpha = 1;
function fl_FadeSymbolOut() { this.instance_name_here.alpha -= 0.01; if(this.instance_name_here.alpha <= 1) { this.removeEventListener('tick', fl_FadeSymbolOut.bind(this)); } } |
单击以加载库中的图像 |
instance_name_here.addEventListener(MouseEvent.CLICK, fl_ClickToLoadImageFromLibrary);
function fl_ClickToLoadImageFromLibrary(event:MouseEvent):void { // 如果希望添加库中的其他图像, // 请在以上步骤 4 中的类文本字段中和以下代码中输入其他名称。 var libImage:MyImage = new MyImage();
var holder:Bitmap = new Bitmap(libImage); addChild(holder); } |
this.instance_name_here.addEventListener('click',fl_ClickToLoadImageFromLibrary.bind(this));
function fl_ClickToLoadImageFromLibrary() {
var libImage = new lib.MyImage(); this.addChild(libImage); }
|
从库中添加实例 |
var fl_MyInstance:LibrarySymbol = new LibrarySymbol(); addChild(fl_MyInstance); |
var fl_MyInstance = new lib.LibrarySymbol(); this.addChild(fl_MyInstance); |