ブレイクアウト ゲームを作成していますが、ブロックとの特定の衝突を除いて、すべてがうまくいっています。ボールがレンガに左または右から当たったかどうかを検出する方法がわかりません。「ボールが左または右からレンガに当たった場合、xSpeed は -1 倍されます。それ以外の場合、ボールが上または下からレンガに当たった場合、y は - 倍されます」という if ステートメントを作成しようとしています。 1.」これを行うのは簡単ですが、レンガがどこに当たったかを検出するのは大変です。私はjavafxを使用しています。簡単だと思いますが、どうやって始めればよいかを知りたいだけです。
2 に答える
0
これは Java fx 固有ではありません。
おそらく、レンガまたは空のスポットを示すための grid_x および grid_y 座標を持つグリッドのセットアップがあります。
衝突が発生すると、ボール Bl_xy (空のスポットである必要があります) のグリッド位置と、ヒットしたレンガ Br_xy のグリッド位置がわかります。
ここで、空のスポット Bl_xy がレンガ Br_xy の上または下にある場合、ボールの垂直速度コンポーネントを変更する必要があります。
空のスポット Bl_xy が Br_xy の左または右にある場合は、水平速度を変更します。
これがあなたの超秘密の学校プロジェクトに役立つことを願っています.
于 2015-04-28T22:53:48.623 に答える