古い学校のRPG用の衝突マップを作成しようとしています。衝突が発生するはずの赤色(255、0、0)の色を使用してイメージを作成し、スプライトの位置(x、y)が衝突マップ上で赤色になるときにテストしようとしています。ここで動作するようには思えません。私のコードは次のとおりです。赤色のテスト
public boolean isBlocked(int testX, int testY) {
System.out.println(collisionMap.getColor(testX, testY)); //debug
System.out.println(Color.red); //debug
if ((collisionMap.getColor(testX, testY)) == Color.red) {
System.out.println("COLLISION OCCURRING!"); //debug
return true;
}
else {
System.out.println("NO COLLISION OCCURRING!"); //debug
return false;
}
}
衝突が発生しなければならないとき、私は私のコンソールで次の出力を得る:(1.0,0.0,0.0,1.0)
色
カラー(1.0,0.0,0.0,1.0)
ノイズが発生しません!
何らかの理由で、Ifステートメントは、2つの値が等しくなるように見えるにもかかわらず、その2つの値をピックアップしません。
を彼らが列挙型ではありません、使用.equals() – esej