Как сделать полностью невидимый спрайт в Pygame?

Вопрос: Я разрабатываю свою первую видеоигра в Pygame (Python), что-то похожее на Space Invaders. Врагам нужно двигаться синхронно, чтобы получить его, я создал спрайт. Почему спрайт? Использовать метод update() для его перемещения. Враги будут корректировать свои позиции в зависимости от этого невидимого полевого спрайта (EnemyBox), прочитав его обновленную переменную rect. Но... Я получаю это сообщение,

Вопрос:

Я разрабатываю свою первую видеоигра в 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)

У вас может быть невидимый спрайт, но вам все равно нужно присвоенное ему изображение. Поиск Грязный спрайт

Оцените статью
Добавить комментарий