Скорость врагов неожиданно замедляется при выборе башни в моей игре pygame TD.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Скорость врагов неожиданно замедляется при выборе башни в моей игре pygame TD.

Сообщение Anonymous »

Здравствуйте, в настоящее время я создаю игру в жанре Tower Defense в pygame, и недавно в своем классе башни я закодировал прозрачный круг, который изображает диапазон башен, в котором это отображается только тогда, когда игрок щелкает левой кнопкой мыши на установленной башне. При тестировании я почему-то понял, что когда я щелкаю левой кнопкой мыши по башне, враг, следующий по заданному пути, замедляется? И степень замедления увеличивается с увеличением дальности действия башни? Я предполагаю, что это происходит из-за того, что прозрачный круг каким-то образом блокирует путевые точки, по которым следует противник, но я не уверен.
Это код, используемый для создания круга, который находится внутри класс башни:
self.range — это просто число, которое я установил, например 200.

Код: Выделить всё

# creates circle range around tower
self.range_img = pg.Surface((self.range * 2,self.range *2 ))
self.range_img.fill((0,0,0))
self.range_img.set_colorkey((0,0,0))
pg.draw.circle(self.range_img, "grey100",(self.range,self.range),self.range )
self.range_img.set_alpha(100)
self.range_rect = self.range_img.get_rect()
self.range_rect.center = self.rect.center
Я вывожу это затем в функцию рисования, где, если переменная (которая становится истинной только тогда, когда игрок щелкает левой кнопкой мыши по башне) истинна, она делает поверхность.blit(self.range_img,self .range_rect)
Враги перемещаются по набору путевых точек с помощью функции перемещения внутри собственного класса врагов.
При этом используется пара переменных:

Код: Выделить всё

 self.waypoints = waypoints #list containing waypoints
self.pos = Vector2(self.waypoints[0])
self.target_waypoint = 1
self.speed = 0.1
Затем эти значения используются в функции перемещения:

Код: Выделить всё

 def move(self):
#define a target waypoint
if self.target_waypoint < len(self.waypoints):
self.target = Vector2(self.waypoints[self.target_waypoint])
self.movement = self.target - self.pos
else:
#enemy destoyed when reaching end
self.kill()

# distance to target
distance = self.movement.length()
# check for if the speed is more than distance need to cover
if distance >= self.speed:
self.pos += self.movement.normalize() * self.speed
print(distance)
else:
if distance != 0:
self.pos += self.movement.normalize() * distance
self.target_waypoint += 1
Затем я вызываю эту функцию через update(), который я вызываю во время основного игрового цикла.
Есть ли что-нибудь в создании прозрачного круга и его отображении? это приводит к тому, что что-то меняется в моей функции move(), вызывая замедление врагов?
Я пытался отладить и понять, что происходит, печатая расстояние, скорость, self.movement, self .movement.normaliza(), но эти значения, похоже, не меняются внезапно, когда я выбираю башню даже несмотря на то, что враг все равно замедляется

Подробнее здесь: https://stackoverflow.com/questions/793 ... ame-td-gam
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Скорость врагов неожиданно замедляется при выборе башни в моей игре pygame TD.
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Враги неожиданно замедляются при выборе башни в моей игре Pygame TD [дублировать]
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Создание врагов в pygame
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Создание врагов в pygame
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Порождение врагов в pygame
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

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