Python — выстрелите пулей в направлении (угол в градусах), к которому обращен мой космический корабль.Python

Программы на Python
Ответить
Anonymous
 Python — выстрелите пулей в направлении (угол в градусах), к которому обращен мой космический корабль.

Сообщение Anonymous »

По этому поводу много вопросов. Но ни у одного из них нет ответов, которые конкретно решили бы мою проблему, я пытался найти это в Google весь день.

Моя проблема проста.

У меня есть космический корабль, который я могу перемещать и вращать, и я уже отслеживаю его курс, направление, в котором он смотрит. Например, на изображении ниже корабль движется примерно в направлении 45 градусов. Он изменяется от 0° (начиная сверху и по часовой стрелке) до 359°

Изображение


Мне просто нужно заставить пулю лететь прямо вперед в направлении (курсе) моего космического корабля. смотрит, начиная с координат X,Y, где сейчас находится мой космический корабль

Класс «Снаряд»:

class Projectile(object) :

def __init__(self, x, y, vel, screen) :
self.screen = screen
self.speed = 1 #Slow at the moment while we test it
self.pos = Vector2D(x, y)
self.velocity = vel #vel constructor parameter is a Vector2D obj
self.color = colors.green

def update(self) :
self.pos.add(self.velocity)

def draw(self) :
pygame.draw.circle(self.screen, self.color, self.pos.int().tuple(), 2, 0)


Теперь метод стрельбы моего класса корабля:

class Ship(Polygon) :

# ... A lot of ommited logic and constructor

def shoot(self) :
p_velocity = # .......... what we need to find
p = Projectile(self.pos.x, self.pos.y, p_velocity, self.screen)
# What next?


Подробнее здесь: https://stackoverflow.com/questions/412 ... ip-is-faci
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»