2013-07-19 66 views
0

我试图将事件侦听器添加到这里的例子:http://www.luxanimals.com/blog/article/combining_easel_box2dEaselJS:无法事件侦听器添加到EaselJS + Box2dWeb例如

我想要做的是,我改变了位图

var birdBMP = new createjs.Bitmap("images/bird.png"); 
      birdBMP.x = Math.round(Math.random()*500); 
      birdBMP.y = -30; 
      birdBMP.regX = 25; // important to set origin point to center of your bitmap 
      birdBMP.regY = 25; 
      birdBMP.snapToPixel = true; 
      birdBMP.mouseEnabled = true; 
      stage.addChild(birdBMP); 
      box2d.createBird(birdBMP); 

这个。现在我试图将一个事件监听器绑定到这个Bidmap对象。

birdBMP.addEventListener("mousedown", function(evt){ 
    console.log("clicked"); 
}); 

但它不起作用。我在这个例子中使用了相同的“demo.js”。我唯一改变的是上面的那个。将位图更改为createjs.Bitmap,然后将一个eventHandler添加到位图。其他一切工作正常,只是不能添加一个eventHandler。任何人都知道为什么这个eventHandler不工作?

谢谢。

编辑:这是从上面的链接demo.js:http://www.luxanimals.com/tutorials/birds/js/demo.js

+0

createjs.Bitmap(“images/bird.png”)返回的对象可能是一个包装。您需要的是“内部”dom对象(例如,)。 – sabof

+0

你有项目在线吗?从看这两个片段看起来似乎没有错,而且您还使用最新版本的easeljs/createjs? – olsn

+0

将其添加到主帖子中。 – user1767833

回答

0

我注意到,这个演示程序是使用旧版本EaselJS不支持addEventListener,但我也有onPress测试,它没有按没有用 - 因为你还没有在这方面投入太多时间,所以我建议你从Github上的沙盒中查看“官方”EaselJS-Box2D示例,该示例已经具有鼠标交互功能:

链接:https://github.com/CreateJS/sandbox

活生生的例子:http://sandbox.createjs.com/EaselJS_Box2dWeb/

(这不是一个直接的程序化的回答你的问题,但我张贴作为一个答案,因为你正在努力适应教程已经过时,不符合当前标准的制定工作的EaselJS,并且有更多最新的示例可用)

+0

这太好了。我搜索了一段时间寻找另一个Box2d-EaselJS样本,但无法找到任何样本。谢谢。 – user1767833