ホームページ >Java >&#&チュートリアル >Java クリスマス ツリーの境界内にアニメーションのオーナメントを保持するにはどうすればよいですか?
指定されたコード スニペットは、ランダムに生成された装飾品でクリスマス ツリーを作成する Java プログラムの実装です。ただし、このプログラムには、ツリーの境界外に移動する装飾品が境界内で適切に再配置されないという問題があります。この問題を修正するには、Star クラスの move() メソッドを変更して、コンテナの境界に到達したかどうかを確認し、それに応じて方向を逆にする必要があります。
修正された move() メソッドは次のとおりです:
public void move() { if (location.x < 0 || location.x > frame.getContentPane().getWidth() - 20) { xIncr = -xIncr; } if (location.y < 0 || location.y > frame.getContentPane().getHeight() - 20) { yIncr = -yIncr; } translate(xIncr, yIncr); location.setLocation(location.x + xIncr, location.y + yIncr); }
この修正されたバージョンでは、move() メソッドは、if 条件内でコンテナー (frame.getContentPane()) の左、右、上、下の境界に到達しているかどうかをチェックします。これらの境界のいずれかに到達すると、対応する xIncr または yIncr が反転され、装飾の方向が変わり、境界内に戻ります。
以上がJava クリスマス ツリーの境界内にアニメーションのオーナメントを保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。