本文的目的是解讀http://www.hawstein.com/posts/pyglet-tutorial.html這個教程。
后面會出一個小教程,目前希望大家多提提意見,包括怎么寫,哪些點有關聯的,哪些理解錯的.如果是問題,目前還應該沒有能力解決,不過后面能回答時,就回了.
a:當你用 1 pyglet.window.Window(800,600) pyglet.window.Window創建一個新的窗口時,最好能夠有個變量接收返回值,不然會報錯。像這樣子定交最好了。 1 game_window=pyglet.window.Window(800,600)
b:圖片的加載,如果你想加載位於不同文件夾中的源文件,你需要指定目標文件夾,然后建立新的索引。像這樣
1 pyglet.resource.path = ['../resources'] 2 pyglet.resource.reindex() 3 #然后用image函數加載它 4 player_image = pyglet.resource.image("player.png") 5 #利用player_image.get_region函數得到子表面 6 subimg=image.get_region(self, x, y, width, height)
需要注意的是,1:path的值是一個相對路徑,相對路徑是相對於應用程序的__main__模塊,就是你啟動程序的路徑。除了圖像,還可以加載聲音,視頻,文字等,--pyglet.resource.media&text
2:如果你調用了path,想讓它起作用,必需調用reindex()
3: pyglet.image.load('xxxxx/kitten.jpg')這個函數支持絕對以及相對函數的引用,很好,很強大。
c:但是圖片的加載,還有另外一種方式,像這個樣子,
1 from pyglet import image 2 pic = image.load('picture.png') 3 #以及你可以從這張圖片上獲取子表面,也就是說你可以截圖這張圖片,生成張新的圖片。 4 subimage = pic.get_region(x, y, width, height)
d:圖片,包括文字,有一個重要的特性,那就是錨點,錨點就是軸心,就是你想讓它轉動時,它繞哪個點轉動,默認為圖片左下角頂點
e: sound = pyglet.resource.media('shot.wav', streaming=False) 用於導入聲音,當這個聲音相對簡短,可以指定streaming=False來獲得更好的性能。調用sound.play()函數就能播放
f: pyglet.graphics.Batch()#用於產生一個圖像的群組 這個函數作用是讓你以一個列表的方式去操作一大堆sprite精靈。在事件 def on_draw() 中,調用draw()方法就可以全部畫出