Jump to content

Bugs sprite behavior


nico974
 Share

Recommended Posts

Hi
I discovered phaser and I need some help.
I noticed some bugs that I can't solve.

1)My character can sometime go behind a sprite.
2) If a column 3 sprites is formed, there is a sprite disappears.

Here is my code, if you have ideas for improvement
.

var game = new Phaser.Game(300, 500, Phaser.AUTO, 'canvasGame', { preload: preload, create: create, update: update, render: render });function preload() {    game.load.image('background', 'assets/Blackboard.png');    game.load.image('ground', 'assets/ground.png');    game.load.spritesheet('box', 'assets/box_30.png', 31, 31);    game.load.spritesheet('dude', 'assets/dude.png', 32, 48);}var player;var platformsvar BOX_SIZE_SPACED = 30;var BOARD_COLS;var BOARD_ROWS;var boxGroup;var countBoxLoop = 2;var timeLoop = 7000;var velocityBoxY = 150;var createbox_bool = true;function create() {	//  We're going to be using physics, so enable the Arcade Physics system    game.physics.startSystem(Phaser.Physics.ARCADE);    //game.physics.p2.setImpactEvents(true);    game.add.sprite(0, 0, 'background');    platforms = game.add.group();    platforms.physicsBodyType = Phaser.Physics.ARCADE;    platforms.enableBody = true;    var ground = platforms.create(0, game.world.height - 20, 'ground');    ground.body.immovable = true;    player = game.add.sprite(32, game.world.height - 100, 'dude');    game.physics.arcade.enable(player);    player.body.bounce.y = 0.2;    player.body.gravity.y = 500;    player.body.collideWorldBounds = true;    //  Our two animations, walking left and right.    player.animations.add('left', [0, 1, 2, 3], 10, true);    player.animations.add('right', [5, 6, 7, 8], 10, true);    BOARD_COLS = Phaser.Math.floor(game.world.width / BOX_SIZE_SPACED);    BOARD_ROWS = Phaser.Math.floor(game.world.height / BOX_SIZE_SPACED);    boxGroup = game.add.group();    boxGroup.physicsBodyType = Phaser.Physics.ARCADE;        //game.physics.p2.enable([ platforms, boxGroup], false);    createBox();    game.time.events.loop(timeLoop, createBox, this);    //  Our controls.    cursors = game.input.keyboard.createCursorKeys();}function createBox() {	var i = game.rnd.integerInRange(0, 10);	var j = 0;    var spriteBox = boxGroup.create(i * BOX_SIZE_SPACED, j * BOX_SIZE_SPACED, "box");    game.physics.enable( [spriteBox], Phaser.Physics.ARCADE);    spriteBox.body.collideWorldBounds = true;    spriteBox.body.velocity.y = velocityBoxY;    spriteBox.body.gravity.y = 200;}function boxHit (body, shapeA, shapeB, equation) {    console.log('kinematic');    body.body.kinematic = true;}function update () {    game.physics.arcade.collide(player, boxGroup);    game.physics.arcade.collide(player, platforms);    game.physics.arcade.collide(boxGroup, boxGroup);    game.physics.arcade.collide(boxGroup, platforms);    //game.physics.arcade.collide(boxGroup, boxGroup, boxHit, null, this);    //game.physics.arcade.collide(boxGroup, platforms, boxHit, null, this);    //  Reset the players velocity (movement)    player.body.velocity.x = 0;    if (cursors.left.isDown)    {        //  Move to the left        player.body.velocity.x = -150;        player.animations.play('left');    }    else if (cursors.right.isDown)    {        //  Move to the right        player.body.velocity.x = 150;        player.animations.play('right');    }    else    {        //  Stand still        player.animations.stop();        player.frame = 4;    }        //  Allow the player to jump if they are touching the ground.    if (cursors.up.isDown && player.body.touching.down)    {        player.body.velocity.y = -350;    }}function render () {    game.debug.inputInfo(32, 32);}

Sorry for my bad english.

post-12507-0-16312600-1420692477.png

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...