Вопрос:
Я разрабатываю свою первую видеоигра в Pygame (Python), что-то похожее на Space Invaders. Врагам нужно двигаться синхронно, чтобы получить его, я создал спрайт.
Почему спрайт? Использовать метод update() для его перемещения. Враги будут корректировать свои позиции в зависимости от этого невидимого полевого спрайта (EnemyBox), прочитав его обновленную переменную rect.
Но… Я получаю это сообщение, когда пытаюсь запустить его: AttributeError: объект EnemyBox не имеет атрибута ‘image’
Вопросы: есть ли способ получить совершенно невидимый спрайт? вы думаете, что есть лучший меканизм, чтобы заставить всех врагов двигаться синхронно?
заранее спасибо
Лучший ответ:
Если вы хотите использовать EnemyBox, вам не нужно использовать Sprite для этого.
Вы можете создать свой собственный класс, который будет иметь атрибут Rect.
Что-то вроде строк:
class EnemyBox: def __init__(self): self.rect = Rect(0,0,50,50) def update(self): self.rect.move_ip(5,0)
У вас может быть невидимый спрайт, но вам все равно нужно присвоенное ему изображение. Поиск Грязный спрайт