java - 测试红色

标签 java 2d collision-detection slick2d

我正在尝试为老式角色扮演游戏编写碰撞图。我使用应该发生碰撞的红色 (255, 0, 0) 创建了一个图像,并尝试测试我的 Sprite 位置 (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 语句没有将两个值设为相等,即使它们看起来是相等的。

最佳答案

我相信这是因为 Color.red 是一个对象,而不是一个值。尝试使用

collisionMap.getColor(textX, testY).equals(Color.red)

关于java - 测试红色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10558674/

相关文章:

java - 按钮悬停时为文本添加下划线

java - 使用 Java 线程创建测试碰撞检测的对象

java - 我的 JFrame 大小与设置的大小不匹配

java - 关于打印的 JSP

java - 如何让令人惊叹的 Hibernate 框架从其 session 中提供连接对象?

java - MVC 中的哪个组件可以引用有什么限制吗?

c# - 在 wpf 中绘制图表

java - 无法在一维和二维数组值之间转换

c++ - 使用立即模式绘制纹理的 OpenGL 替代方案?

java - 两个类之间如何发生碰撞和 react ?