私は、プレイヤーが壁に当たったときに死ぬはずの四角をコントロールするゲームを作った。正方形は絵の箱であり、壁も絵の箱です。 W、A、S、Dを使って移動することができます。私は同じようなことを考えていました:ピクチャボックスが別のコントロールに接触したときの検出
if(Square.Top == Square.Top + Square.Height)
その後、ゲームを再開します。それを行うより良い方法はありますか? IFの多くを持っているのIstead?コントロールが何か他のものに触れるたびに?
ありがとう!
実際には、Square.Top == Wall.Topは、壁が正方形の上にない限り、それらが接触したことを示しません。壁が正方形の右または左にある場合、それらは同じであっても触っていない。 –
これは単なる例であり、私自身を正解させてくださいSquare.Top == Wall.Square.Top + Square.Height –
衝突検出は主にインターネット上で行われています。クイック検索はこの記事を私に与えました:https://developer.mozilla.org/en-US/docs/Games/Techniques/2D_collision_detection本当に、このトピックに関するブログ記事はたくさんあります。 –