Ich versuche, eine 'Kugel' aus der var Waffe schießen in eine bestimmte Richtung, diese Kugel ist eigentlich ein Pokemon Ball, wie ich gerade ein Übungsspiel mache .Wie man Waffe 'Kugel' in eine bestimmte Richtung gehen
Ich kann nicht scheinen, dass die 'Kugel' in die Richtung gehen, die ich möchte, ich trat ein: weapon.body.velocity.x = -100; unter dem: if (cursors.left.isDown) aber das hat nicht funktioniert, wenn ich irgendeine Taste gedrückt hat, würde der Bildschirm einfach einfrieren.
Bitte helfen Sie mir, die 'Kugel' in die Richtung gehen zu lassen, die ich will.
var items;
var game;
var player;
var weapon;
var cursors;
var fireButton;
function addItems() {
items = game.add.physicsGroup();
createItem(100, 400, 'coin');
}
function createItem(left, top, image) {
var item = items.create(left, top, image);
item.animations.add('spin');
item.animations.play('spin', 10, true);
}
function itemHandler(player, item) {
item.kill();
}
window.onload = function() {
game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render });
function preload() {
game.stage.backgroundColor = ('#424242');
game.load.spritesheet('coin', 'coin.png', 36, 44);
game.load.spritesheet('player', 'hero.png', 64, 64);
game.load.spritesheet('bullet', 'Pokeball.png');
}
function create() {
player = this.game.add.sprite(100, 200, 'player');
// ANIMATION FOR PLAYER CONTROLS
down = player.animations.add('down', [0,1,2,3], 10, true);
left = player.animations.add('left', [4,5,6,7], 10, true);
right = player.animations.add('right', [8,9,10,11], 10, true);
up = player.animations.add('up', [12,13,14,15], 10, true);
// enable physics in the game (can't go through walls, gravity, etc.)
game.physics.enable(player, Phaser.Physics.ARCADE);
game.physics.startSystem(Phaser.Physics.P2JS);
game.physics.startSystem(Phaser.Physics.ARCADE);
game.physics.p2.enable(player);
player.body.setSize(30, 45, 16, 12);
player.body.immovable = false;
// enable keyboard arrows for controls
cursors = game.input.keyboard.createCursorKeys();
// camera will follow the character
game.camera.follow(player);
addItems();
// Creates 1 single bullet, using the 'bullet' graphic
weapon = game.add.weapon(1, 'bullet');
// The bullet will be automatically killed when it leaves the world bounds
weapon.bulletKillType = Phaser.Weapon.KILL_WORLD_BOUNDS;
// Because our bullet is drawn facing up, we need to offset its rotation:
// The speed at which the bullet is fired
weapon.bulletSpeed = 400;
game.physics.arcade.enable(player);
// Tell the Weapon to track the 'player' Sprite, offset by 14px horizontally, 0 vertically
weapon.trackSprite(player, 30, 0);
cursors = this.input.keyboard.createCursorKeys();
fireButton = this.input.keyboard.addKey(Phaser.KeyCode.SPACEBAR);
}
function update() {
game.physics.arcade.overlap(player, items, itemHandler);
// PLAYER CONTROLS
player.body.velocity.set(0);
// player presses left key
if (cursors.left.isDown)
{
player.body.velocity.x = -100;
player.play('left');
}
// player presses right key
else if (cursors.right.isDown)
{
player.body.velocity.x = 100;
player.play('right');
}
// player presses up key
else if (cursors.up.isDown)
{
player.body.velocity.y = -100;
player.play('up');
}
// player presses down key
else if (cursors.down.isDown)
{
player.body.velocity.y = 100;
player.play('down');
}
// player does not press anything
else
{
player.animations.stop();
}
if (fireButton.isDown)
{
weapon.fire();
}
}
function render() {
weapon.debug();
}
}
<!DOCTYPE html>
<html lang="en">
\t <head>
\t \t <meta charset="utf-8">
\t \t <title>Simple Canvas Game</title>
<style>
html {
background: black
}
canvas {
margin: auto;
}
</style>
\t </head>
\t <body>
<script src="phaser.js"></script>
\t \t <script src="game.js"></script>
\t </body>
</html>
versuchen Sie das; waffe.body.velocity.x - = 100; –
@KrisJ. Es friert immer noch ein, wenn ich auf irgendeinen Schlüssel klicke. – hannacreed
erhalten Sie keinen Fehler? –