0

我正在努力让任何鼠标事件与最新的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.bitmapstage并且container都存在。

但是,不会触发任何鼠标事件。

有任何想法吗?

4

1 回答 1

1

如果您使用mousedown-keyword,您必须像这样使用它:

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

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

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

于 2013-07-09T08:37:51.437 回答