使用Kivy创建像素化游戏的最有效方法是什么?

时间:2014-12-29 13:57:36

标签: python-3.x kivy pixels

这是我在游戏中绘制像素化图像的简单示例:

SCALE = 6

class MyApp(App):
    def build(self):
        parent = Widget()

        texture = self.load_some_texture()
        texture.min_filter = 'nearest'
        texture.mag_filter = 'nearest'

        with self.canvas:
            PushMatrix()
            Scale(SCALE)
            self.pixelart = Rectangle(texture=texture, pos=(0, 0), size=(64, 64))
            PopMatrix()

        return parent

这是在Kivy制作像素化游戏的最佳和最有效的方法吗?如果没有,那是什么?

1 个答案:

答案 0 :(得分:1)

with self.canvas:
    Scale(6)
    self.pixelart = Rectangle(texture=texture, pos=(0, 0), size=(64, 64))

我认为你正在对小部件系统进行一些攻击 - 而不是这样做,为什么不忽略比例,将矩形位置/大小设置为小部件位置/大小(并进行绑定以使其跟随小部件改变时的pos / size),然后设置小部件位置和大小以立即更改所有内容。这样,小部件将按预期工作,因为一切都跟踪它。或者,如果您希望按钮是一个行为正常的小部件,您可以将您的像素绘图放在一个不具有任何正常行为的Widget中。

要重置比例(以及其他矩阵指令),您可以在PushMatrixPopMatrix画布说明之间进行比例更改。