Задать вопрос

Как привязать спрайт к другому спрайту в pygame?

Я хочу, чтобы при вызове пешки, пули летели в сторону врага(ближайшего иди рандомного), делаю игру на подобии Rush Royale.
class Hero(): #сама пешка
	
	def __init__(self, attack, speed):
		self.attack = attack
		self.speed = speed
		
	def object(self, color, color_hat): 
		self.color = color
		self.color_hat = color_hat
		pygame.draw.rect(screen, color, (90,810,50,50))
		pygame.draw.rect(screen, color_hat, (100,820,30,30))


class Enemy(pygame.sprite.Sprite): #Враг - Моб
	
	def __init__(self, hp_mob, speed_mob, x, y):
		pygame.sprite.Sprite.__init__(self)
		self.hp_mob = hp_mob
		self.speed_mob = speed_mob
		self.image = pygame.Surface((50, 50))
		self.x = x
		self.y = y
		self.image.fill(Green)
		self.rect = self.image.get_rect()
		self.rect.center = (x, y)

	def update(self): #движение его
		self.rect.y -=5
		if self.rect.y <=700:
			self.rect.y =700
			self.rect.x +=3
class Bullet(pygame.sprite.Sprite): #пуля
	
	def __init__(self, X, Y):
		pygame.sprite.Sprite.__init__(self)
		self.image = pygame.Surface((10,10))
		self.X = X
		self.Y = Y
		self.image.fill(Green)
		self.rect = self.image.get_rect()
		self.rect.center = (X, Y)
	def update(self):  
        #должен быть код, где спрайты(пули) движутся к врагу
		self.rect.x += 5
		if self.rect.x > 600:
			self.kill()

h = Hero(1, 1)
Mob = Enemy(10,20, 50,1300)
Bul = Bullet(350,700)
  • Вопрос задан
  • 250 просмотров
Подписаться Средний 7 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы