2013-07-19 64 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