私は現在、javascript と processing.js を使用してゲームに取り組んでおり、物を斜めに移動する方法を理解するのに苦労しています。このゲームでは、中心にあるオブジェクトが周囲の他のオブジェクトを撃ちます。現在、弾丸を垂直または水平のみに移動しても問題はありませんが、弾丸アルゴリズムの斜めの動きを実装するのは困難です。
試行に関しては、数学的な思考のキャップをかぶって、直線に沿った動きに y=mx+b 式を使用してみましたが、これが私のコードの最終的な外観です。
ellipse(shuriken.xPos, shuriken.yPos, shuriken.width, shuriken.height); //this is what I want to move diagonally
if(abs(shuriken.slope) > 0.65) {
if(shuriken.targetY < shuriken.OrigYPos) {
shuriken.yPos -= 4;
} else {
shuriken.yPos += 4;
}
shuriken.xPos = (shuriken.yPos - shuriken.intercept)/shuriken.slope;
} else {
if(shuriken.targetX < shuriken.OrigXPos) {
shuriken.xPos -= 4;
} else {
shuriken.xPos += 4;
}
shuriken.yPos = shuriken.slope * shuriken.xPos + shuriken.intercept;
}
上記のコードは、線の傾きによって速度が変化するため、非常に悪質でハックです。
三角関係を実装しようとしましたが、それでも無駄です。
どんな助け/アドバイスも大歓迎です!