0
これはphaser.jsのゲームの簡単なテストケースです。ボールが条件のためにスクリーンの上に移動し、衝突し、跳ね返り、停止します。スプライトのy値と速度を設定して、さらに落ちなくします。フェイザーゲームフレームワーク - 条件付きでも2つの更新ループでSprite.yの値が変更されました
ただし、次の更新のループでは、にconsole.log 2.
に再びy値が増加し、カウントが増加 - ボールは、yが、その後、437442445である私は理解していない440の上に残って下降としてどのようにball.yが440を2回越えるかは、これが実行中のコード全体です。条件付きでバウンスを0に設定しても効果はありません。それはコンソールではありません。ブラウザのログは、カウント変数が条件文が2回入力されたことを報告するため、位相変更と同期していません。
var mainState = {
preload: function() {
game.load.image('ball', 'assets/ball.png');
},
create: function() {
game.physics.startSystem(Phaser.Physics.ARCADE);
game.world.enableBody = true;
ball = game.add.sprite(180, 440, 'ball');
ball.body.bounce.setTo(1);
ball.body.allowGravity = false;
ball.body.collideWorldBounds = true;
game.physics.arcade.moveToXY(ball, 160,10,350); ballstop = false;
count = 0;
},
update: function() {
console.log("ball.y " + ball.y);
if (ball.y > 440) {
ball.body.bounce.setTo(0);
ball.body.velocity.x = 0;
ball.body.velocity.y = 0;
ball.y = 440;
count = count + 1;
}
},
};
var game = new Phaser.Game(360, 640);
game.state.add('main', mainState);
game.state.start('main');
ここではいくつかのランダムな推測問題 – paulito
を見るためにクローム開発ツールでのコンソールで https://phaserballtest.netlify.com/ .Lookを実行している:ゲーム物理学はに同時に扱ったりmainState年代から切り離されています ' update() '?加速度値は '0'に設定する必要がありますか? –