我認為Kivy它比較適合用來開發遊戲類型。
它涵式庫是Python,所以可以全部用Python語言來撰寫,
當然也可以用Kivy語言來撰寫,Kivy語言又更簡化了。
自從有了Kivy,覺得開發遊戲App變得好簡單
不過是因為它的套件很強大~
就像有人跟我說,Python的套件強大到覺得自己好像很會寫Python
(後來想想,他說得很有道理,我也常常誤以為我很會寫XD)
Kivy目前版本1.9,我但我是用1.8版本撰寫
Kivy已經可以支援Python3.3,不過我是用Python2.7
(未來在看看是否有語言撰寫上的差異)
撰寫上遇到幾個需要注意的部分
1. 一開始一定要import App
2. 一定要使用build來創建app
#App is base of any kivy application.
from kivy.app import App
class App08(App):
def build(self):
return LoveStoryGame()
if __name__ == '__main__':
App08().run()
使用build方法呼叫你所建立的類別LoveStoryGame()
所以一定有個LoveStoryGame的Class
這邊就可以開始用Python語法撰寫App
剛剛說它有強大的涵式庫
例如我現在需要頁面的切換需要從
kivy.uix.screenmanager import ScreenManager
ScreenManager:Screen的最上層管理者,下面可以有很多的Screen,彼此Screen可以互相切換
#App is base of any kivy application.
from kivy.uix.screenmanager import ScreenManager, Screen
class LoveStoryGame(ScreenManager):
pass
class StartScreen(Screen):
pass
class GameScreen(Screen):
pass
切換的方式(例如:淡入淡出、上下左右滑動)都可以,只要在ScreenManager這邊設定好
就可以統一都使用設定好的切換方式
下面是Kivy語法設定Screen切換
1. 先import FadeTransition (淡入淡出)
2. 在lovestorygame 也就是 ScreenManager 設定 transition 要 FadeTransition()
3. 給每個Screen命名
4. 使用Button的on_press設定 Screen 應該要被切換到哪一個 Screen
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
<lovestorygame>:
transition: FadeTransition()
StartScreen:
GameScreen:
<startscreen>
name: "start"
FloatLayout:
Button:
text: "Play!"
on_press: root.manager.current = "game"
<gamescreen>
name: "game"
FloatLayout:
Button:
text: "restart!"
on_press: root.manager.current = "start"
[Github] KivyApp08原始碼
[Kivy] 官方網站
沒有留言:
張貼留言