フェイザーでダブルジャンプする方法を知りたいです。
this.jumpCount = 0;
this.jumpkey = game.input.keyboard.addKey(Phaser.Keyboard.UP);
this.jumpkey.onDown.add(jumpCheck, this);
jumpCheck = function(){
if (player.jumpCount < 2){
player.jump();
player.jumpCount ++;
}
}
これを試してみましたが、うまくいきませんでした。言葉の意味がよくわかりませんthis.
。
編集:わかりました、私はこれを自分で解決しようとしましたが、何をすべきかわかりません。
これが私の新しいコードです。2 段ジャンプはできますが、私のプレーヤーは 3 段、4 段などのジャンプで「飛ぶ」ことができますが、その理由はよくわかりません。私たちを手伝ってくれますか ?
//jump
var jumpCount = 0;
var jumpKey = game.input.keyboard.addKey(Phaser.Keyboard.UP);
jumpKey.onDown.add(jumpCheck);
function jumpCheck() {
if((jumpCount < 1) && (player.body.touching.down)){
jump1();
console.log("jumpCount =" + jumpCount);
console.log("Vitesse ="+ player.body.velocity.y);
// attention, remettre jumpCount à zéro si on touche le sol
// if(player.body.touching.down){
// jumpCount = 0;
// }
}
//double jump
if((jumpCount < 2) && (!player.body.touching.down)){
jump2();
console.log("jumpCount =" + jumpCount);
console.log("Vitesse ="+ player.body.velocity.y);
}
}
function jump1(){
console.log("jump1");
jumpCount ++;
player.body.velocity.y = -250;
}
function jump2(){
console.log("jump2");
jumpCount ++;
player.body.velocity.y = -150;
}
Chrome コンソールは常に jumpCount = 1 を送信します。