HTML5 canvas(Animate CC)使用按钮

时间:2018-08-15 13:14:04

标签: html5 html5-canvas createjs removechild animate-cc

请帮忙,我花了整整一个上午的时间来弄清这个问题,但失败了。

我正在尝试将旧的swf文件更新为新的html画布。

到目前为止,我已经更新了所有内容,包括将所需的movieclip Image_1加载到舞台上的变量“ fl_MyInstance”中,并通过以下代码通过button_1加载。.


this.button_1.addEventListener("click", fl_MouseClickHandler.bind(this));

function fl_MouseClickHandler()
{
    var fl_MyInstance = new lib.Image_1();
    fl_MyInstance.x = 364.70;      
    fl_MyInstance.y = 199.30;       
    this.addChild(fl_MyInstance);

}

此动画片段在舞台上时,其中有一个标记为close1的按钮,我尝试了许多代码尝试将其关闭。...但它不起作用。

我尝试过的最新代码是..

this.close1.addEventListener("click", fl_MouseClickHandler.bind(this));
function fl_MouseClickHandler()
{
  stage.removeChild( fl_MyInstance );
}

请帮忙,我到达此位置是因为我知道它可能需要针对父母或引用阶段或根目录或其他东西,但是尝试的所有操作均无济于事。我什至不介意在必要时清除所有孩子。

希望有人可以提供帮助。

标记

1 个答案:

答案 0 :(得分:0)

您的问题是范围。在新文件中尝试以下操作。在舞台上绘制两个影片剪辑,并将其命名为buttonAdd和buttonRemove。在您的媒体库中,有一个名为Rectangle的影片剪辑。现在添加以下代码:

var that = this;
this.buttonAdd.addEventListener("click", addFromLibrary);
this.buttonRemove.addEventListener("click", removeClip);

function addFromLibrary(e)
{   
    window.myRectangle = stage.addChild(new lib.Rectangle());
}

function removeClip(e){
    stage.removeChild(myRectangle);
}

这应该可行,但是可能有更优雅的方法来实现这一目标。