Pygame - 如何更改父表面的调色板并影响所有孩子?

时间:2014-02-22 03:00:38

标签: python animation pygame pygame-surface

我在一些动画中处理了一些精灵的颜色。我将动画的每个帧(子)分成精灵表(父级)的子表面,并且我想对父级进行颜色循环并因此具有chldren颜色循环。看一下pygame文档,看起来子表面的调色板独立于父元素。如果不单独处理每个框架,你会怎么做呢?感谢

1 个答案:

答案 0 :(得分:0)

你不能......你回答了自己的问题。如果没有手动循环操作,唯一可行的方法是创建一个类,一个方法或您选择的其他东西。

所以我要把所有的框架或子项放到一个数组中。

children = [pygame.Surface((200, 200))]

我只会有一个原因,我很懒,你也知道你投入的工作和努力是多么少。

所以这是更新颜色的方法。

def updateColor(color):
    parent.set_pallet(color)
    for child in children:
        child.set_pallete(color)

这是我能想到的最简单的方法。

除此之外,不,你不能。