Python:在序列中选择纹理

问题描述 投票:0回答:2

我有一个在python上运行的游戏。它通过以下行获得通电的纹理:

self.texture = bs.getTexture("texture1")

我想编辑它,以便加载的纹理按顺序更改。就像第一次使用texture1,第二次使用texture2,第三次使用texture1。

我尝试使用random.choose但它变得随机并且没有遵循序列。

请告诉我应该写什么来代替这条线。

python python-2.7 list sequence python-2.x
2个回答
1
投票

使用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

0
投票

您可以使用模数运算循环回数组的第一个索引。不使用任何额外的库:

count = 0
sequence = ['texture1', 'texture2']
texture = count % len(sequence)
count = count + 1

# next_texture = count % len(sequence)
© www.soinside.com 2019 - 2024. All rights reserved.