[PHASER] Bullet - Wall Collision Problem

http://www.html5gamedevs.com/topic/18121-phaser-bullet-wall-collision/

by John Eric Orolfo

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/phaser/2.4.4/phaser.js"></script>

JavaScript

var bulletTime, bullets, create, downButton, fireBullets, fireButton, floor, game, hitWall, leftButton, player, preload, rightButton, upButton, update, wall;

upButton = null;

leftButton = null;

downButton = null;

rightButton = null;

fireButton = null;

player = null;

bullets = null;

bulletTime = 0;

wall = null;

floor = null;

fireBullets = function() {
  var bullet;
  if (game.time.now > bulletTime && bullets.countDead() > 0) {
    bullet = bullets.getFirstDead();
    bullet.reset(player.x, player.y);
    bullet.body.velocity.y = -100;
    return bulletTime = game.time.now + 200;
  }
};

hitWall = function(bullet, wall) {
  bullet.kill();
};

preload = function() {
  game.load.crossOrigin = 'anonymous';
  game.load.tilemap('level0', 'https://raw.githubusercontent.com/stnight/battlecity/master/public/game_assets/level0.json', null, Phaser.Tilemap.TILED_JSON);
  game.load.image('tiles', 'https://raw.githubusercontent.com/stnight/battlecity/master/public/game_assets/assets.png');
  game.load.spritesheet('player', 'https://raw.githubusercontent.com/stnight/battlecity/master/public/game_assets/player.png');
  game.load.image('bullet', 'https://raw.githubusercontent.com/stnight/battlecity/master/public/game_assets/bullet.png');
};

create = function() {
  var map;
  game.physics.startSystem(Phaser.Physics.ARCADE);
  game.stage.backgroundColor = '#FFFFFF';
  map = game.add.tilemap('level0');
  map.addTilesetImage('assets', 'tiles');
  floor = map.createLayer('floor');
  wall = map.createLayer('walls');
  game.physics.arcade.enable(wall);
  map.setCollisionBetween(1, 100, true, 'walls');
  wall.resizeWorld();
  game.physics.arcade.enable(map);
  game.physics.setBoundsToWorld();
  player = game.add.sprite(150, 150, 'player');
  player.anchor.setTo(0.5, 0.5);
  game.physics.arcade.enable(player);
  upButton = game.input.keyboard.addKey(Phaser.Keyboard.UP);
  leftButton = game.input.keyboard.addKey(Phaser.Keyboard.LEFT);
  downButton =...