2013-07-08 131 views
0

我很努力得到任何與最新的easeljs庫(easeljs-0.6.1.min.js)一起工作的鼠標事件。EaselJS鼠標/觸發事件沒有被觸發

我正在使用TypeScript(其定義似乎是最新的)。

我的舞臺,容器等被設置如下:

stage = new createjs.Stage("gameCanvas"); 
container = new createjs.Container(); 
stage.addChild(container); 
createjs.Touch.enable(stage); 

然後我有我的實體相關的代碼看起來像這樣:

Egg.prototype.wireUpEggForMovement = function() { 
    Game.get().container.addChild(this.bitmap); 

    this.bitmap.mousedown = function (evt) { 
     var o = evt.target; 

     Game.get().container.addChild(this.bitmap); 
     var offset = { x: o.x - evt.stageX, y: o.y - evt.stageY }; 
     this.gamePosition = new Point(offset.x, offset.y); 

     evt.onMouseMove = function (ev) { 
      o.x = ev.stageX + offset.x; 
      o.y = ev.stageY + offset.y; 
     }; 
    }; 
    this.bitmap.mouseover = function (evt) { 
     var o = evt.target; 
     o.scaleX = o.scaleY = 1.2; 
    }; 
    this.bitmap.mouseout = function (evt) { 
     var o = evt.target; 
     o.scaleX = o.scaleY = 1; 
    }; 
}; 

this.bitmapstagecontainer存在。

但是沒有觸發鼠標事件。

任何想法?

回答

1

如果您正在使用-keyword你有mousedown使用這樣的:

this.bitmap.addEventListener('mousedown', function...) 

http://www.createjs.com/Docs/EaselJS/classes/Bitmap.html#method_addEventListener

OR:如果你想通過屬性來設置一個偵聽器功能(這是已棄用),您將不得不使用.onPress = function...來獲取鼠標按下事件。但是由於這已被棄用,我建議你使用addEventListener()

+3

請注意,要獲得mouseover/mouseout事件,您需要在舞臺上啓用鼠標懸停。這是一項成本高昂的操作,因此它是可選的。 'stage.enableMouseOver()'http://www.createjs.com/Docs/EaselJS/classes/Stage.html#method_enableMouseOver – Lanny