【问题标题】:easeljs add bitmap to stage multiple time at different position画架将位图添加到不同位置的多次舞台
【发布时间】:2013-12-05 05:00:19
【问题描述】:

我刚开始使用easeljs 库。我创建了一个带舞台的画布,它可以工作。

我想将位图添加为按钮,并将它们并排添加到舞台底部。

我尝试了以下方法,但它会将位图放在彼此的顶部。

var button = new createjs.Bitmap(queue.getResult("largebrick"));
        var contentWidth = document.getElementById("content").offsetWidth;
        var contentHeight = document.getElementById("content").offsetHeight;
        var container = new createjs.Container();
        stage.addChild(container);

        stage.enableMouseOver(10);
        for(var i = 0; i <10; i++){
            button.x = 0 + button.getBounds().width * i;
            button.y = contentHeight - button.getBounds().height;

            button.addEventListener("mouseover", function() { document.body.style.cursor = 'pointer'; });
            button.addEventListener("mouseout", function() { document.body.style.cursor = 'default'; });
            button.addEventListener("click", function(event) {addBricks(button); });
            container.addChild(button);

        }

我希望你们中的一些人能提供帮助。

【问题讨论】:

    标签: javascript easeljs


    【解决方案1】:

    这里有几件事。您需要在循环内创建按钮的新实例,否则您只是在每次迭代时移动按钮的原始实例。在this example 中,我通过使用形状稍微简化了所有内容,但是您可以轻松地使用位图来做同样的事情。

    var xPos = 0;
    for(var i = 0; i < 10; i++){
        var button = new createjs.Bitmap(queue.getResult("largebrick"));
        button.cursor = "pointer";
    
        button.x = xPos;
        button.y = contentHeight - 50;
        xPos += 60;
        container.addChild(button);
    
    }
    

    另外,createjs 支持像这样将光标定义为显示对象的属性

    button.cursor = "pointer";
    

    这应该会稍微简化您的代码。

    【讨论】:

    • 当然,愚蠢的我。以正确的方式在另一个文件中做了类似的事情:(但是感谢光标的提示:)我会调查的。
    • 顺便说一句,我如何向每个按钮添加事件监听器并知道单击了哪个按钮?如果我这样做 button.addEventListener("click", function(event) {addBricks(button); });然后我总是得到最后一个按钮。
    • 您可以使用“名称”属性来帮助识别正在单击的按钮link。然后在事件处理程序中, event.target 将成为您的按钮。您可以在 event.target.name 上进行切换。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 2013-03-21
    相关资源
    最近更新 更多