2dプラットフォーマーを構築していますが、スペースバーを押したままプレイヤーを長くジャンプさせようとしています。今プレイヤーは上下に飛び越えることができますが、あなたがキーを押したままにすると、そのユニバーサルロボットの持つ効果のようなものです。これをどうやってやりますか? Imはフェイザーなどを使用していません。ほとんどのチュートリアルでは、これを使用しています。Javascriptの長時間ジャンプスプライト?
var gameEngine = this.game;
if (gameEngine.keyMap["Space"] && !this.jumping) { //only jump if not already in mid jump
this.jumping = true;
this.animationCurrent.elapsedTime = 0;
this.game.space = false;
}
if (this.jumping) {
if (this.animationCurrent.isDone()) {
this.animationCurrent.elapsedTime = 0;
this.jumping = false;
}
var jumpDistance = this.animationCurrent.elapsedTime/
this.animationCurrent.totalTime;
var totalHeight = 150;
if (jumpDistance > 0.5)
jumpDistance = 1 - jumpDistance;
var height = totalHeight * (-4 * (jumpDistance * jumpDistance - jumpDistance));
this.y = this.ground - height;
console.log(this.y);
}
あなたはonkeypressedを使用していますか?もしそうなら、これはおそらく設計上可能ではないでしょう。 onkeydownを使っていますか?もしそうならば、これによりジャンプの高さをボーナスとして時間をかけて調整することができます。 +150、+15、+5、+ 1のようになる。 –
@TravisJ私はonkeydownを使用しています – thatsnifty