0

ゲームモンキーキックオフに似たゲームに取り組んでいます。画面の左側の場所で 1 つのボールがバウンドしていて、ボールの位置に応じて、ボールが蹴られているように見えるように、ユーザー タッチ時にボールに linearImpulse を適用します。しかし、インパルスを適用すると、ボールが画面の境界からはみ出してしまいます。ボールが画面の縦方向にはみ出してしまうのに、画面の横方向の境界からはみ出したくありません。CCFollow を使用してみましたが、ゲームの流れに現実感がありません。このチュートリアルを試してみましたが、かなり役に立ちました。背景をスクロールすることはできましたが、この部分だけが残っています。

ボールが水平画面の境界から出ないようにする方法についてのアイデアはありますか..? 一方、垂直境界の場合は、境界から外れる可能性があります。

4

1 に答える 1

0

物理学を使用していない場合、これは単純な境界チェックです。画面の幅が 320 ポイントであると仮定すると、ボールは画面内で水平に保たれます。

CGPoint ballPos = ball.position;
ball.position.x = fmaxf(0, fminf(320, ballPos.x));
ball.position = ballPos;

更新: リニア インパルスについて言及していることに気付きました。つまり、物理エンジンを使用しています。その場合は、両側に水平な壁を作ります。cocos2d Box2D または Chipmunk テンプレートを参照して、画面をコリジョン ボーダーで囲み、ゲームで左右のサイド ボーダーのみを使用する方法を確認してください。

于 2012-07-14T15:42:31.733 に答える