好的,所以我正在尝试制作一个简单的乒乓球游戏。我有一个跟随鼠标的桨和一个弹跳的球。我在我的 Sprite 类中编写了一个方法collidesWith(Sprite s)
,用于检查球是否与桨发生碰撞(这有效,不是问题)。我有两个对象扩展我的精灵类,一个球和一个桨对象。所以在我的球类里面,我试图检查它是否与桨发生碰撞。所以我试过了
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"
因此,如果我没看错,它会认为桨(和球)是变量,它会抱怨,因为它找不到它们。我怎样才能让它理解我传递的是对象,而不是变量?
有关更多信息,我之前的一项任务让我制作了两个盒子,并让它们在碰撞时改变颜色。在那个作业中,我使用了与上面非常相似的代码
if(boxOne.collidesWith(boxTwo) == true){
System.out.println("yes");
}
在这段代码中它工作得很好。程序知道 boxOne 和 boxTwo 是我的 Sprite 类的子类。任何人都知道为什么他们不会工作相同?