gpt4 book ai didi

java - Java 中的寻的导弹行为

转载 作者:行者123 更新时间:2023-11-30 05:57:50 25 4
gpt4 key购买 nike

也许是初学者的问题,但感谢您的阅读。我正在开发一个 2d Java 游戏,其中我有使用以下代码跟踪对象位置的导弹。我希望导弹在达到距目标一定的最小位移时停止寻的,此时它们应该垂直下落。现在,只要导弹在最小位移范围内,寻的行为就会关闭,如果位移增加,就会再次打开。 我希望该行为仅关闭一次,并在导弹的剩余生命周期期间保持关闭状态。我该如何实现?

public void home(int targetX, int targetY, int scale){
int dy = targetY - y;
int dx = targetX - x;
double speed, sep;

sep = Math.sqrt(dx * dx + dy * dy);
speed = scale/sep;

if(dy > 50 || dx > 50){
x += dx * speed;
y += dy * speed;
}
else{
x += 0;
y += scale;
}
}

最佳答案

添加成员变量,如boolean homing = true。然后,将您的条件更改为如下内容:

if (dy < 50 && dx < 50)
homing = false;

if(homing){
x += dx * speed;
y += dy * speed;
}
else{
x += 0;
y += scale;
}

您基本上只需要打破导弹行为与其状态之间的相互依赖。

关于java - Java 中的寻的导弹行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5124730/

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