这是我在游戏中绘制像素化图像的简单示例:
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制作像素化游戏的最佳和最有效的方法吗?如果没有,那是什么?
答案 0 :(得分:1)
with self.canvas:
Scale(6)
self.pixelart = Rectangle(texture=texture, pos=(0, 0), size=(64, 64))
我认为你正在对小部件系统进行一些攻击 - 而不是这样做,为什么不忽略比例,将矩形位置/大小设置为小部件位置/大小(并进行绑定以使其跟随小部件改变时的pos / size),然后设置小部件位置和大小以立即更改所有内容。这样,小部件将按预期工作,因为一切都跟踪它。或者,如果您希望按钮是一个行为正常的小部件,您可以将您的像素绘图放在一个不具有任何正常行为的Widget中。
要重置比例(以及其他矩阵指令),您可以在PushMatrix
和PopMatrix
画布说明之间进行比例更改。