Расчет ракеты Java Tower Defense

Я пытаюсь разработать небольшую игру java 2d Tower Defense, и у меня возникли проблемы, пытаясь рассчитать, как делать мои ракеты. После нескольких часов поиска и тестирования я еще больше запутался.

Пока у меня есть:

  1. 4 случая в зависимости от того, где находится башня в зависимости от юнита, по которому она ведет огонь (СЗ, СВ, ЮЗ, ЮВ)
  2. Мне нужно рассчитать расстояние между текущей целью и башней, из которой летит ракета, используя Math.sqrt(x2, x1, y2, y1).
  3. Масштабирование x и y ракеты.

Теперь проблема, с которой я сталкиваюсь, заключается в том, как масштабировать увеличение x и y ракеты по направлению к цели, чтобы это казалось реалистичным. Математика не моя сильная сторона, и это проявляется здесь. Ниже я покажу, что у меня есть для юго-восточного квадранта от башни.

public int distanceX, distanceY;
public double sep, scale;

if(xBullet < Screen.mobs[shotMob].x && yBullet < Screen.mobs[shotMob].y){
        distanceX = Screen.mobs[shotMob].x- xBullet;
        distanceY = Screen.mobs[shotMob].y - yBullet;
        sep = Math.sqrt( (distanceX * distanceX) + (distanceY * distanceY));
        scale = // This is the part I am confused about.
        xBullet += distanceX * scale;
        yBullet += distanceY * scale;
6
задан pb2q 29 July 2012 в 21:14
поделиться