基本的には、別のプログラムの非常に単純な衝突テストを試していますが、私は作業していますが、それはとてもシンプルなようです(とにかく、ちょっとばかげたばか!)とにかく、 :Collision ifステートメントが動作しないようです
public void run() {
while(true){
try {
if(rect.rect.intersects(rect1.rect)){
System.out.println("Test1");
if(rect1.x == ((rect.x + rect.width)-1)){
System.out.println("Test2");
rect1.x = rect.x + rect.width;
rect1.dx = 0;
}
}
rect.update();
rect1.update();
Thread.sleep(50);
プログラムはtest2になりません!
この問題を解決する助けがあれば幸いです!前もって感謝します!
ペイント構成部品:
public void paintComponent(Graphics g){
rect1.paint(g);
rect2.paint(g);
g.drawString(String.valueOf(rect1.x), 100, 100);
g.drawString(String.valueOf(rect2.x+rect2.width), 100, 150);
repaint();
}
画像:
おそらく 'rect.rect'は' rect1.rect'と交差しません...これを短く、問題を示す*完全なプログラムに編集してください... –
あなたはそれを仮定する特別な理由はありますか? 2番目のifの式は真ですか? – VeeArr
このテストの目的が何であるかを説明すると役に立ちます。 – Robinson