小编Hib*_*200的帖子

如果Statement没有在Java中正确评估布尔值?

我正在做一个简单的游戏,你在屏幕上移动一个球并试图避开屏幕上的其他块.

我遇到的问题是,当我尝试评估你是否正在触摸另一个块时,无论我的布尔值等于什么,我的if语句总是返回第一个结果.这是我评估语句的方法

public void actionPerformed(ActionEvent evt) {
                    //Move the ball
            myY = myY - 5;
                if(myY < 0){
                    myY = 0;
                }
                    //test if it is intersecting
            boolean sect = testIntersection(r, playa);
            System.out.println(sect);
                if(sect = true){
                                    cir = Color.BLACK;
                    System.out.println("Intersected");
                }else{
                    cir = Color.RED;
                }
            playa.setFrame(myX, myY, 30,30);
            repaint();
        }
Run Code Online (Sandbox Code Playgroud)

以下是发送sect布尔值的代码部分:

public static boolean testIntersection(Shape shapeA, Shape shapeB) {
       Area areaA = new Area(shapeA);

       areaA.intersect(new Area(shapeB));
       return !areaA.isEmpty();
    }
Run Code Online (Sandbox Code Playgroud)

这是整个代码:

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics; …
Run Code Online (Sandbox Code Playgroud)

java if-statement boolean

0
推荐指数
2
解决办法
657
查看次数

标签 统计

boolean ×1

if-statement ×1

java ×1