2014-12-29 27 views
0

這是我如何在我的遊戲繪製像素圖像一個簡單的例子:用Kivy創建像素化遊戲的最有效方法是什麼?

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
with self.canvas: 
    Scale(6) 
    self.pixelart = Rectangle(texture=texture, pos=(0, 0), size=(64, 64)) 

我想你戰鬥信息窗系統一點 - 而不是做這個,爲什麼不離開了規模,設置矩形POS /大小的小部件POS /尺寸(並進行綁定,當它們發生變化時,它會遵循小部件的位置/大小),然後設置小部件的位置和大小以一次更改所有內容。這樣小部件將按預期工作,因爲所有東西都會跟蹤它。或者,如果您希望該按鈕是一個正常運行的小部件,則可以將像素圖形放在不具有任何正常行爲的其他小部件中。

對於重置比例尺(以及其他矩陣指令),可以將比例尺更改爲PushMatrixPopMatrix畫布指令。

+0

我沒有在按鈕內繪製pixelart,而是在MyApp裏面。對不起,如果這不清楚。我更新了我的問題並使用了'Push'-和'PopMatrix'。謝謝!你可以試試我的問題嗎? – Joschua

+0

該應用沒有畫布,因此代碼不起作用。更一般地說,你有正確的想法 - 但如果你想要在像素之間沒有插值的情況下加載圖像,你必須在適當的紋理上設置這些屬性。您可能會發現自動創建自己的子類很方便。 – inclement

相關問題