0

高度なプログラミング コースのプログラミング プロジェクトとして、アニメーションのスクリーンセーバーを作成するように割り当てられました。目的は、装飾されていないフルスクリーン フレーム内に複数の可動コンポーネントを配置することですが、段階的に、一度に 1 つのコンポーネントずつ実行します。

これまでのソースコードは次のとおりです。 http://pastebin.com/dc722188

ファイル操作に関係する部分は自由にコメントアウトしてください。現時点では関係ありません。

さて、ここで私が抱えている問題は、明らかにプログラムが私の LogoComponet をフレーム全体を取り囲んでいると認識しているため (想定されていないにもかかわらず)、衝突の条件がすぐにトリガーされ、ロゴ オブジェクトが突然発作を起こし始めることです。コンポーネントの境界を手動で設定しても機能せず、明日が期限であるという事実は私のケースをまったく助けません。

助けて?.___.

4

1 に答える 1

0

まず、貼り付けたコードには、twoSquareComponent に不適切な名前のコンストラクターがあります。問題はあなたのアニメーションメソッドにあります。方向を変えるためにチェックを行うと、方向が変わりますが、次のコールはどこに戻ってきます。現在の方向を追跡する何らかの方法が必要です。

例として、横に交差し、dx が 10 で現在の x が 11 の場合、1 に移動し、次の animate 呼び出しで 11 に戻り、次に 1 に戻ります。これが繰り返されるため、発作効果が発生します。あなたが説明します。これは宿題なのでお任せします :) . しかし、それはあなたの問題ですおそらく現在の方向を保存し、再び範囲外に出るまで変更したくないでしょう。

幸運を

于 2009-10-28T19:28:03.170 に答える