Я должен сделать мини-видеоигру для практики.Я кодировал в Phaser, JavaScript и Java.Холст рисуется в Фазере.
Мне нужно поместить столкновения на границах мира или что-то, когда мой космический корабль коснется границы холста, чтобы мой космический корабль не вышел на экран.
Моему учителю запрещено делать что-то с физикой, например аркаду, ниндзя или P2.
Не имеет значения, если решение в JavaScript или Phaser.Только мне нужно ограничить границы холста.
У меня есть это для рисования мира в Phaser:
game = new Phaser.Game(1024, 600, Phaser.AUTO, 'gameDiv'
У меня есть спрайт в мире в preload
:
game.global.myPlayer.image = game.add.sprite(0, 0, 'spacewar', game.global.myPlayer.shipType);
В функции создания у меня есть управление с клавиатуры:
this.wKey = game.input.keyboard.addKey(Phaser.Keyboard.UP);
this.sKey = game.input.keyboard.addKey(Phaser.Keyboard.DOWN);
this.aKey = game.input.keyboard.addKey(Phaser.Keyboard.LEFT);
this.dKey = game.input.keyboard.addKey(Phaser.Keyboard.RIGHT);
this.spaceKey = game.input.keyboard.addKey(Phaser.Keyboard.CONTROL);
this.shiftKey = game.input.keyboard.addKey(Phaser.Keyboard.SHIFT);
В функции обновления движение:
if (this.wKey.isDown)
msg.movement.thrust = true;
if (this.sKey.isDown)
msg.movement.brake = true;
if (this.aKey.isDown)
msg.movement.rotLeft = true;
if (this.dKey.isDown)
msg.movement.rotRight = true;
if (this.spaceKey.isDown) {
msg.bullet = this.fireBullet()
}
if (this.shiftKey.isDown) {
msg.push = true;
}