Java 如何检索actor子类的坐标,以便在该位置放置新的actor?
我正在尝试引用当前actor子类(dog)的位置,以便将另一个子类的标记(骨骼)放置在其所在的坐标处。您可以通过调用Java 如何检索actor子类的坐标,以便在该位置放置新的actor?,java,coordinates,greenfoot,Java,Coordinates,Greenfoot,我正在尝试引用当前actor子类(dog)的位置,以便将另一个子类的标记(骨骼)放置在其所在的坐标处。您可以通过调用getX()和getY()来检索actor的坐标,就像对其他actor所做的那样 如果您希望调用“当前”参与者的方法,您可能希望在示例this.getX()中使用this。但这只是必要的,如果你需要解决一些模棱两可的问题。通常,您可以调用该方法 public void move() { //if (this.getWorld().getObjects(Marker.
getX()
和getY()
来检索actor的坐标,就像对其他actor所做的那样
如果您希望调用“当前”参与者的方法,您可能希望在示例this.getX()
中使用this
。但这只是必要的,如果你需要解决一些模棱两可的问题。通常,您可以调用该方法
public void move()
{
//if (this.getWorld().getObjects(Marker.class).isEmpty())
Dog bill = getOneIntersectingObject(Dog.class);
Marker bone = getOneIntersectingObject(Dog.class);
if (bone == null);
{
Marker bone= new Marker();
getWorld().addObject(marker.getX(), marker.getY());
}
super.move(1);
}
所示摘录中明显的必要更改:
- 第二个
的参数是getOneIntersectingObject()
,因为您似乎需要它Marker.class
- 如果,则在
的括号后没有分号。如果不删除它:这个分号是一个空语句,因此
将无效。将始终执行紧随其后的大括号之间的块If
- 将第二块
重命名为骨骼
,以显示您的意图。(除此之外,它将“遮蔽”骨骼的“外部”标记
,但这里没有问题。),
- 使用正确的参数调用
:要放置的对象(新标记)及其坐标(通过调用addObject()
和getX()
检索)getY()
getX()
和getY()
来检索参与者的坐标,就像您为其他参与者所做的那样
如果您希望调用“当前”参与者的方法,您可能希望在示例this.getX()
中使用this
。但这只是必要的,如果你需要解决一些模棱两可的问题。通常,您可以调用该方法
public void move()
{
//if (this.getWorld().getObjects(Marker.class).isEmpty())
Dog bill = getOneIntersectingObject(Dog.class);
Marker bone = getOneIntersectingObject(Dog.class);
if (bone == null);
{
Marker bone= new Marker();
getWorld().addObject(marker.getX(), marker.getY());
}
super.move(1);
}
所示摘录中明显的必要更改:
- 第二个
的参数是getOneIntersectingObject()
,因为您似乎需要它Marker.class
- 如果,则在
的括号后没有分号。如果不删除它:这个分号是一个空语句,因此
将无效。将始终执行紧随其后的大括号之间的块If
- 将第二块
重命名为骨骼
,以显示您的意图。(除此之外,它将“遮蔽”骨骼的“外部”标记
,但这里没有问题。),
- 使用正确的参数调用
:要放置的对象(新标记)及其坐标(通过调用addObject()
和getX()
检索)getY()