Код: Выделить всё
# 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
Эроги перемещаются вдоль наборов 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