pygame 精灵
在碰撞检测这里需要在每次循环时,先删除组里的一个精灵,再添加这个精灵。这里我有个问题就是,每次删除后,再添加时,这个精灵在组里的位置是不是会发生改变,这样会不会有什么影响?
for each in group:
print(each)
group.remove(each)
if pygame.sprite.spritecollide(each, group, False):
each.speed = -each.speed
each.speed = -each.speed
group.add(each)
for eve in group:
print(eve) 不会 qiuyouzhi 发表于 2021-10-17 14:06
不会
精灵在组里的位置不会改变吗
kygschp 发表于 2021-10-17 19:23
精灵在组里的位置不会改变吗
改变了又会有什么影响呢 qiuyouzhi 发表于 2021-10-17 19:41
改变了又会有什么影响呢
如果是列表的话,执行类似的操作,结果就变乱了
a = ['a', 'b', 'c', 'd', 'e']
for i in range(5):
item = a.pop(i)
print(item)
a.append(item)
为什么使用group的时候,结果就不会变乱呢 kygschp 发表于 2021-10-17 21:41
如果是列表的话,执行类似的操作,结果就变乱了
a = ['a', 'b', 'c', 'd', 'e']
对呀,结果就变乱了
可这又会有什么影响呢?
那段代码的本质是遍历这个 group,然后依次进行碰撞检测
计算机运行的速度是很快的,改变一下顺序几乎是没有影响的(数据量不大)
Python 的运行速度还没有到判断一次需要一秒的地步 我觉得不会吧QAQ 我也不太懂诶
页:
[1]