現在、ブレークアウトゲームに取り組んでおり、数学の問題に悩まされています。ここにシナリオがあります。基本ブレークアウトスケーリング数学
ボールの水平速度はbxspdです。 ボールのX座標はbxです。 ボールのスピードはbspdです。 バットのx座標はpxです。
ボールがバットに衝突するとき、バットの位置に対して水平方向にバウンスする必要があります。言い換えれば:
//衝突イベント bxspd = bx-px。
この方法では、ボールがバットの左側に当たったとき、ボールは左に跳ね返ります。さらにそれがバットのセンターの左側にあるほど、水平スピードは速くなります。
この問題は、私のバットが中央から両側に50の幅を持つことです。これをボールの最高速度に合わせるにはどうすればよいですか?つまり、バットの最左端に当たった場合、bxspdは-50ではなく-2になります。
よろしく、 クラリス
この質問を書くと、何とかそれを把握することができました。 pxの原点はバットの左にあるので、次の式を考案しました。bdx =((bx - (px +(pwidth/2))/(pwidth/2))* bspd; – NodziGames
質問を削除してから気軽に – mplungjan
提案mplungjanありがとうございました。同じ質問があれば人々が参照として使うことができるように、質問に対する答えとして数式を書く方がより有益だと思います。 – NodziGames