Это код, используемый для создания круга, который находится внутри Класс башни: < /p>
self.range - это всего лишь число, которое я установил, например, 200 < /p>
Код: Выделить всё
# 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
< /code>
i выводит это, затем в функции рисования, где, если переменная (которая превращается в истинность только тогда, когда игрок на левом щелчке на башне) верно, она делает Surface.blit (self.range_img, self .range_rect)
Враги перемещаются вдоль набора путевых точек через функцию перемещения внутри собственного класса врагов
Это использует пару переменных: < /p>
Код: Выделить всё
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
< /code>
Я затем вызову эту функцию через Update (), которую я называю во время своего основного игрового цикла < /p>
Есть ли что -нибудь при создании прозрачного круга и его отображения Это заставляет что -то изменить в моей функции MOVE (), заставляя врагов замедляться? .moved>
Подробнее здесь: https://stackoverflow.com/questions/793 ... ame-td-gam