Я пытаюсь разработать небольшую игру java 2d Tower Defense, и у меня возникли проблемы, пытаясь рассчитать, как делать мои ракеты. После нескольких часов поиска и тестирования я еще больше запутался.
Пока у меня есть:
Math.sqrt(x2, x1, y2, y1)
.Теперь проблема, с которой я сталкиваюсь, заключается в том, как масштабировать увеличение 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;