В основном я хочу переместить моего врага из одной позиции в другую.Перемещение врага в 2D?
Исходная позиция не является проблемой ... и не то место, куда они должны идти.
Проблема заключается в том, как они туда попадают. С кодом, который я написал, они просто телепортируют карту.
Так что я даже не собираюсь публиковать его. Используя треугольники ... что было бы самым эффективным способом получить их от точки A до точки B?
Скажем, точка А составляет 10, 10; а точка B - 123, 349. Но есть вероятность, что A будет B, а B будет A. Таким образом, он также должен иметь дело с негативами.
Теперь последнее, что усложняет вопрос, состоит в том, что он перемещается между 1 и 5 пикселями при каждом его перекрашивании ... так что если он переместится по позиции, я не уверен, как проверить, чтобы она была в общей области ,
Спасибо! Btw Мне не нужен полный код ... просто ИДЕИ !!! Я могу закодировать себя. Спасибо!!!
текущий код:
if (enemyList.length > 0) {
for (int[] x : enemyList) {
double changeX;
double changeY;
//if already in spot, anounce it
if (x[0] == x[2] && x[1] == x[3]) {
x[2] = -1;
x[3] = -1;
}
//if anounced generate new spot of interest
if (x[2] == -1 || x[3] == -1) {
x[2] = generateRandom(0, 550);
x[3] = generateRandom(0, 400);
}
//find distance from target and move there
int _y = x[1] - x[3];
int _x = x[0] - x[2];
if (_x > _y) {
changeX = _x/_y;
changeY = _y/_y;
} else {
changeY = _y/_x;
changeX = _x/_x;
}
changeY = changeY * generateRandom(0, 10);
changeX = changeX * generateRandom(0, 10);
//change physical position
x[0] += (int) changeX;
x[1] += (int) changeY;
}
}
Как выглядит ваш текущий алгоритм? –
@ Justin там вы идете, вот что у меня есть сейчас ... the enemyList хранит 4 переменные ... currentX, currentY, futureX, futureY ... будущее означает назначение ... надеюсь, что поможет вам помочь мне :) – Zeveso
I ' m не уверен в специфике среды Java, но это обычно делается с линейной интерполяцией. Из быстрого поиска Google это может быть класс для этого: http://multigraph.sourceforge.net/multigraph/javadoc/multigraph/LinearInterpolator.html –