如何在Flash(或Animate CC)中使用createJS将符号添加到容器

时间:2016-03-17 19:56:05

标签: flash jquery-animate createjs easeljs

我已经在动作脚本中完成了这个,但无法弄清楚如何在javascript中为Animate CC中的html5画布项目做到这一点。

基本上,我在舞台上有两个按钮,用于向容器添加符号实例。添加到容器中的符号包含使其可拖放的操作脚本。还有一个重置按钮,清除容器。我试图弄清楚如何在javascript中执行相同的操作(特别是将符号实例添加到容器中)。这是我在主时间轴上的动作脚本:

import flash.display.Sprite;


//creates container that we'll add instances to
var container:Sprite = new Sprite();
addChild(container);
container.x = 577;
container.y = 500; 

//*******Button Man 1******//
slider.btn_man1.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);
function fl_MouseClickHandler(event:MouseEvent):void
{
    //adds symbol instance of man1_Instance to the container
    var man1:man1_Instance = new man1_Instance();
    container.addChild(man1);
}


//*******Button Man 2******//
slider.btn_man2.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler1);
function fl_MouseClickHandler1(event:MouseEvent):void
{
    //adds symbol instance of man2_Instance to the container
    var man2:man2_Instance = new man2_Instance();
    container.addChild(man2);
}

//****Reset button****//
btn_reset.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler_4);

function fl_MouseClickHandler_4(event:MouseEvent):void
{
    container.removeChildren();

}

1 个答案:

答案 0 :(得分:1)

您的大多数代码都很好,只需要JavaScript-ified(删除类型和返回值)。

//creates container that we'll add instances to
var container = new createjs.Container();
stage.addChild(container); // Will need a reference to the stage.
container.x = 577;
container.y = 500; 

//*******Button Man 1******//
slider.btn_man1.addEventListener("click", fl_MouseClickHandler);
function fl_MouseClickHandler(event)
{
    //adds symbol instance of man1_Instance to the container
    var man1 = new lib.man1_Instance(); // Symbols are part of the lib object
    container.addChild(man1);
}


//*******Button Man 2******//
slider.btn_man2.addEventListener("click", fl_MouseClickHandler1);
function fl_MouseClickHandler1(event)
{
    //adds symbol instance of man2_Instance to the container
    var man2 = new lib.man2_Instance();
    container.addChild(man2);
}

//****Reset button****//
btn_reset.addEventListener("click", fl_MouseClickHandler_4);

function fl_MouseClickHandler_4(event:MouseEvent):void
{
    container.removeAllChildren();
}

您必须参考CreateJS文档,了解您需要的类和API,但它与Flash非常相似。将AS3移植到JavaScript的主要问题是作用域,因为变量(尤其是Flash / Animate中的框架脚本变量)可以在this上定义。