私は私の「プレーヤー」は50のjumpDistanceに達したときに、それが倒れたので、彼は小さな「ジャンプ」を作るようにそれを作ってみました。キャンバス上の要素の向きを逆にするにはどうすればいいですか?
コードは、この時点で正確に「クリーン」ではないかもしれませんが、私はJavaScriptで始めますよ。
私は遅れてforループを使って、プレイヤーのジャンプを行いました。私は彼を同じように下ろそうとしましたが、これは私が計画した方法ではうまくいかなかったのです。
** NOTE:スペースキーを押し開始します!
<!DOCTYPE html>
<html>
<style>
#canvas {
background-color: rgba(177, 177, 177, 1);
}
</style>
<body>
<div>
<p id="jumpDistance"></p>
<p id="jumpDirection"></p>
</div>
<canvas id="canvas" width="800" height="400"></canvas>
<script>
var canvas = document.querySelector('#canvas');
var context = canvas.getContext('2d');
var xPos = 150;
var yPos = 375;
var jumpDistance = 0;
function spelerObj() {
canvas.width=canvas.width;
context.rect(xPos, yPos, 25, 25);
context.stroke();
context.fillStyle = "#FF0000";
context.fillRect(xPos, yPos, 25, 25);
}
function jump(e) { //Here the player jumps, with a loop that calculates it's jump-distance.
//alert(e.keyCode);
if (e.keyCode == 32) {//
function upLoop() {
setTimeout(function() {
if(jumpDistance < 50) {
yPos -= 1;
jumpDistance++;
upLoop();
spelerObj();
document.getElementById("jumpDistance").innerHTML = jumpDistance.toString();
}
}, 1)
}
upLoop();
spelerObj();
}
}
document.onkeydown = jump;
</script>
</body>
</html>
私は表示されません。また、あなたのジャンプ関数はおそらくifステートメント内にあってはいけません。 [更新されたフィドル](https://jsfiddle.net/gcmyur3o/2/) – isherwood
*これは私が計画した方法ではうまくいかなかった*その意味がわからない。おそらく 'upLoop'機能を反映しますが、' YPOS + = 1を行い 'downLoop'機能をしたいと思います;'。また、アニメーションでジャーキネスが見え始める場合は、['requestAnimationFrame'](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame)を見たいかもしれません。 –