未触发EaselJS鼠标/触摸事件

时间:2013-07-08 22:43:00

标签: drag-and-drop easeljs createjs

我正在努力让任何鼠标事件都能使用最新的easeljs库(easeljs-0.6.1.min.js)。

我正在使用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 个答案:

答案 0 :(得分:1)

如果您使用mousedown - 关键字,则必须使用它:

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

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

OR:如果要通过属性(已弃用)设置侦听器功能,则必须使用.onPress = function...来获取鼠标按下事件。但由于这已被弃用,我建议您使用addEventListener()