Main クラスがすべてのオブジェクトと変数を保持し、ほとんどの作業を行うクラス内のメソッドを呼び出す小さなゲームを作成しています。かなり標準的。残念ながら、これは必要な変数の多くがアクセスできない Main クラスにあることを意味します。
たとえば、テストとして、ボールを画面上で跳ね返らせたいと思っていましたが、これは簡単なことですがgetSize()
、メイン クラスのメソッドを使用して簡単に取得できる画面の寸法が必要です。しかし、バウンスするクラスを作成すると、クラス内にあるため、メソッドにBall
アクセスできません。とにかくそれを呼び出すことはありますか?getSize()
Main
コンストラクター内のクラスまたは必要なメソッドごとに変数を渡すことができることはわかっていますが、Ball
必要なときに必要な変数を取得できる方法があるかどうかを確認したいのですが、常にすべての情報を渡すのではありません。新しいオブジェクトを作成します。
Main.class
public void Main extends JApplet {
public int width = getSize().width;
public int height = getSize().height;
public void init(){
Ball ball = new Ball();
}
}
ボールクラス
public void Ball {
int screenWidth;
int screenHeight;
public Ball(){
//Something to get variables from main class
}
}