2013-07-08 132 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