Враги неожиданно замедляются при выборе башни в моей игре Pygame TD [дублировать]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Враги неожиданно замедляются при выборе башни в моей игре Pygame TD [дублировать]

Сообщение Anonymous »

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

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

# 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
I выводит это, затем в функции рисования, где, если переменная (которая превращается в TRUE только тогда, когда игрок на левом щелчке на башне) верно, она выполняет Surface.blit (self.range_img, self.range_rect)
Эроги перемещаются вдоль наборов WayPoints через функцию Move Inside Внутри энмет -собственных эндусов. Пара переменных: < /p>
self.waypoints = waypoints #list containing waypoints
self.pos = Vector2(self.waypoints[0])
self.target_waypoint = 1
self.speed = 0.1
< /code>
Затем эти значения используются в функции перемещения: < /p>
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
< /code>
Я затем называю эту функцию через Update (), которую я называю во время своего основного игрового цикла < /p>
Есть ли что -нибудь в создании прозрачного круга и отображающего его, что заставляет что -то изменить в моем функции движения (), вызывая, что враги замедлились? < /p>
. self.movement.normaliza () Но эти значения, кажется, не меняются внезапно, когда я выбираю башню, даже если враг все еще замедляется

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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