不动产不在相位器中工作

时间:2015-04-28 12:36:34

标签: phaser-framework phase

这是关于tilesprite&amp; amp;的代码。一个玩家,玩家不应该通过tilesprite,但不幸的是我的代码不能正常工作,我尝试了所有方法,但无法达到预期的效果,我不知道为什么tile2.body.immovable=true;标志不起作用。< / p>

var main = {

    preload: function () {
        this.game.load.image('ground', 'images/ground.jpg');
        this.game.load.image('bg', 'images/gabg.jpg');
        this.game.load.atlasJSONHash('mover', 'images/sheet.png', 'images/sprites.json');

    },

    create: function () {
        this.game.physics.startSystem(Phaser.Physics.ARCADE);

        cursor = this.game.input.keyboard.createCursorKeys();
        tile1 = game.add.tileSprite(0, 10, 1365, 582, 'bg');
        tile2 = game.add.tileSprite(0, 590, 1366, 91, 'ground');

        player = this.game.add.sprite(50, 550, 'mover');
        player.frame = 0;
        player.anchor.setTo(0.5, 0.5);
        while (i < 11) {
            anim.push(i)
            i++;
        }
        player.animations.add('move', anim, 20, true);

        this.game.physics.arcade.enable(player);
        this.game.physics.arcade.enable(tile2);
        tile2.body.immovable = true;
        tile2.body.allowGravity = false;
        player.body.gravity.y = 800;
    },

    update: function () {
        this.game.physics.arcade.collide(tile2, player);
        tile1.tilePosition.x += -1;
        tile2.tilePosition.x += -4;
        this.move();
    },

    move: function () {
        if (cursor.up.isDown) {
            player.body.velocity.y = -200;
            player.animations.stop('move');
        }

        else {
            player.animations.play('move');
        }
    },

};

var game = new Phaser.Game(1366, 768, Phaser.CANVAS, 'gamediv');
this.game.state.add('main', main);
this.game.state.start('main');

var anim = [];
var cursor, i=0;
var tile1;
var tile2;
var player;

1 个答案:

答案 0 :(得分:0)

您使用的是哪个版本的Phaser?它可能与2.3.0中的这个错误有关吗?

http://www.html5gamedevs.com/topic/13856-problem-with-collide-method-from-physics-arcade-in-different-versions-of-phaser/?p=79032