У меня есть игра, работающая на питоне. Он получает текстуру для бонуса со следующей строкой:
self.texture = bs.getTexture("texture1")
Я хочу отредактировать его, чтобы загружаемая текстура изменялась в последовательности. Как и в первый раз powerup имеет texture1, второй раз texture2 и в третий раз снова texture1.
Я попытался использовать random.choose, но он стал случайным и никакой последовательности не соблюдается.
Подскажите, пожалуйста, что нужно написать вместо этой строки.
2 ответа
Используйте itertools.cycle ()
import itertools
sequence = ['texture1', 'texture2']
texture = itertools.cycle(sequence)
next(texture)
> texture1
next(texture)
> texture2
next(texture)
> texture1
next(texture)
> texture2
next(texture)
> texture1
Вы можете использовать операцию модуля, чтобы вернуться к первому индексу массива. Без использования дополнительных библиотек:
count = 0
sequence = ['texture1', 'texture2']
texture = count % len(sequence)
count = count + 1
# next_texture = count % len(sequence)
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.