わかりましたので、簡単なポンゲームを作ろうとしています。マウスに追従するパドルと、跳ね回るボールがあります。collidesWith(Sprite s)
Sprite クラス内に、ボールがパドルと衝突するかどうかをチェックするメソッドを作成しました (これは機能し、問題ではありません)。スプライト クラスを拡張する 2 つのオブジェクト、ボールとパドル オブジェクトがあります。だから私のボールクラスの中で私はそれがパドルと衝突するかどうかをチェックしようとしています. だから私は試しました
if(this.collidesWith(paddle) == true){
System.out.println("They touched");
}
他の組み合わせも試してみましたが、パドル(および使用時のボール)ball.collidesWith(paddle)
については常に同じことが言えますball.collidesWith
"Cannot find symbol. Symbol: variable paddle(or ball). Location: class Ball"
したがって、私がこれを正しく読んでいる場合、パドル (およびボール) は変数であると見なされ、それらが見つからないために不平を言っています。変数ではなくオブジェクトを渡していることを理解させるにはどうすればよいですか?
追加情報として、以前の課題で 2 つのボックスを作成し、それらが衝突すると色が変わるようにしました。その割り当てでは、上記と非常によく似たコードを使用しました
if(boxOne.collidesWith(boxTwo) == true){
System.out.println("yes");
}
そして、このコードではうまくいきました。プログラムは、boxOne と boxTwo が Sprite クラスの子クラスであることを認識していました。なぜ彼らが同じように働かないのか誰にも分かりますか?