我已经在动作脚本中完成了这个,但无法弄清楚如何在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();
}
答案 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
上定义。