Kivy是一套專門用于跨平臺快速應用開發的開源框架,使用Python和Cython編寫,基于OpenGL ES 2,其核心開發成員主要包括:Mathieu Virbel、Thomas Hansen、Gabriel Pettier等。Kivy對于多點觸控有著非常良好的支持,不僅能讓開發者快速完成簡潔的交互原型設計,還支持代碼重用和部署,無論是為Windows、OS X、Linux還是Android和iOS,開發者都可以使用相同的代碼庫。
主要特性:
Kivy從最初的1.0到1.8.0版本,發展已超過三年,并且,其開發團隊仍然在不斷地更新和優化中。使用Kivy不僅易于使用,更通過模板技術降低了后續代碼的維護難度,許多開發者評價其為頗讓人驚艷的一款NUI框架。
在2048風靡之時,Mathieu Virbel用Kivy小試牛刀地開發了一款Kivy版的2048,絕對可以充當開發者學習Kivy的Hello World:
#when the setup is done and it start working, it is easy to login PythonActivity = autoclass('org.renpy.android.PythonActivity') GameHelper = autoclass('com.google.example.games.basegameutils.GameHelper') gh_instance = GameHelper(PythonActivity.mActivity, GameHelper.CLIENT_ALL) gh_instance_listener = GameHelperListener() gh_instance.setup(gh_instance_listener) gh_instance.onStart(PythonActivity.mActivity) android.activity.unbind(on_activity_result=_on_activity_result) android.activity.bind(on_activity_result=_on_activity_result)
#that's how you can unlock achievement #uid is the Google UID for the achievement you want if gh_instance.isSignedIn(): Games.Achievements.unlock(gh_instance.getApiClient(), uid)
#put the user score on the leaderboard #uid is the Google UID for the leaderboard you've created. #You can have multiple leaderboard. if gh_instance.isSignedIn(): Games.Leaderboards.submitScore(gh_instance.getApiClient(), uid, score)現在,您還可以進入Kivy的mobilehub主頁進行資源分享和討論。開發者可直接登陸Github下載Kivy,想要了解更多關于Kivy框架的信息及其開發指南,可查看Kivy官網。