gpt4 book ai didi

java - 我如何检索 Actor 子类的坐标以便将新 Actor 放置在该位置?

转载 作者:太空宇宙 更新时间:2023-11-04 09:02:44 24 4
gpt4 key购买 nike

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);
}

我正在尝试引用当前 Actor 子类(狗)的位置,以便将另一个子类的标记(骨骼)放置在它所在的坐标处。

最佳答案

您可以通过调用getX()来检索 Actor 的坐标和getY() ,就像你为其他 Actor 做的那样。

如果您想调用“当前”参与者的方法,您可能需要使用 this ,例如 this.getX() 。但这只是必要,如果您需要解决一些歧义。一般情况下直接调用该方法即可。

public void move()
{
Dog bill = getOneIntersectingObject(Dog.class);
Marker bone = getOneIntersectingObject(Marker.class);
if (bone == null)
{
Marker marker = new Marker();
getWorld().addObject(marker, getX(), getY());
}
super.move(1);
}

从显示的摘录中显而易见,需要进行更改:

  • 第二个参数getOneIntersectingObject()Marker.class ,因为你似乎想要这个。
  • if 括号后没有分号。 如果不删除它:这个分号是一个空语句,所以if不会有任何影响。后面的大括号之间的 block 将始终被执行。
  • 重命名第二个 bonemarker来表明你的意图。 (此外,它还会“遮蔽”“外部” bone ,但这在这里没有问题。)
  • 调用 addObject()使用正确的参数:要放置的对象(新标记)及其坐标(通过调用 getX()getY() 检索)。

关于java - 我如何检索 Actor 子类的坐标以便将新 Actor 放置在该位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60582770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com