我正在使用Phaser CE 2.9.4(我在2.6.4中遇到了同样的问题)

所以我的问题是我有一个sprite给了我sprite.world.x和sprite.world.y的0(虽然它显然不是0,0) . 有点奇怪的是,打印出来的sprite.world.x最初给出了0但加了50ms的延迟它给了我正确的位置(如果你想知道在延迟期间没有发生任何事情)

下面是我正在使用的代码片段(只是100%肯定) . 基本上我有一个组(位于某个位置),具有特定的旋转,在某个位置有一个精灵(我遇到问题) .

var newR = game.add.sprite(300, 200, 'rocket');

    //Group

    var myGroup = game.add.group();

    myGroup.x = 600;
    myGroup.y = 200;

    myGroup.angle = 20;

    myGroup.add(newR);

    console.log(newR.world.x);

this.game.time.events.add(50, function () {
    console.log(newR.world.x);
    }
        ,this);

第一个打印出的值是300(显然不是这样) . 我在最后一行之后添加了50毫秒的延迟,然后打印出newR.world.x并获得了正确的值(813) . 提供的代码片段是我在创建函数中的最后一件事(并且更新函数为空) . 如前所述,在延迟开始直到结束时没有发生任何事情(我只剩下预加载功能) .

任何帮助是极大的赞赏 .