libgdx:[13]第二章?

Tags: 平臺, 專案,

使用libgdx建立多平臺支援的遊戲

libgdx:[13]第二章 多平臺

工具/原料

libgdx

Cross-platform Development – Build Once, Deploy Anywhere 多平臺一處建立處處執行

在這一章中你將學到更多關於關於建立eclipse專案和他們如何在一起寫作工作的知識。並且你會學到更多關於libgdx框架的構成:

• Backends 關於多平臺的支援

• Modules 模組

• Application Life-Cycle and Interface 程式生命週期介面

• Starter Classes 開始類

libgdx:[13]第二章 多平臺

本章的結束,你將會更加細緻的檢視示例程式,仔細的觀察如何建立main類。你將學會如何設定斷點,在除錯模式執行程式,並且通過 JVM 程式碼熱交換 特性加速你的開發效率。對示例程式的介紹將以一些有趣的程式碼熱互動功能的演示結束。

這一章結束以後你將學會如何在 桌面系統(例如 Windows,Linux,Mac)Android 系統、支援web gl的瀏覽器(比如Google chrome) 建立,執行,並測試第一章的示例程式。

示例程式-專案是如何協同工作的

在第一章中 我們成功的建立了我們的示例程式,但是我們沒有細看所有的eclipse專案是如何協同工作的。看一下下面的圖示理解熟悉一下配置模式,你的所有的程式都會有些共同點。

你在這裡看到是是一個緊湊的四個專案的預覽圖。在示例專案的最左邊是共享程式碼()將會被其他的平臺專案引用。示例程式的主類是:MyDemo.java。從一個技術角度來看,主類,有系統控制程式啟動的地方,從現在起將會被以 starter 類 對待。注意libgdx 使用 ‘“starter class”類區別這兩種 主類,來避免混淆。我們將會發現所有的東西都與starter 類主題有關聯。

libgdx:[13]第二章 多平臺

如果你仔細觀察前面的截圖圖片你會發現有兩個 assets 檔案:一個在 demo-desktop 裡 一個在

Demo-Android專案裡。這給我們帶來一個問題,你將會把所有的資源放到哪個檔案裡呢?

Demo Android專案在這個問題上扮演了一個比較重要的角色。在其那面的截圖彙總,你看到一個子檔案叫做:data ,這裡包含了一個圖片叫做libgdx.png ,這個圖片也在demo desktop專案中出現在相同的位置。

記住把你的所有的資原始檔放到 demo Android專案的assets 檔案中。因為Android程式執行專案時會直接從程式的assets檔案尋找資源。在構建專案時一個叫做 R.Java 的檔案會自動的在 gen 資料夾下被建立。它包含一些對Android專案可用的資源的資訊。如果你是在Android專案中,通常會通過Java程式碼來尋找資源,但是在libgdx中我們還要保持多平臺的支援,所有我們儘量使用libgdx的方式來尋找資源。你將會在本章的後面部分學到更多的尋找資源的方法。

libgdx:[13]第二章 多平臺

你可能會擔心那麼多平臺的專案都包含一個資源副本這將如何維護呢。不用擔心一旦其中一個資源被更改了其他專案的對應資源也會自動的作出相應的變更。

幸好這個問題已經由專案建立器解決了:

Demo-desktop 專案使用一個連線資源,eclipse提供的特性,把已經存在的檔案或資料夾新增到工作空間的其他地方。你可以通過右擊 demo desktop 專案 然後導航到 properties -resource - liked resource -然後點選 linked resource 標籤檢視。

libgdx:[13]第二章 多平臺

Demo -HTML 專案要求另外的途徑通過 Google Web Toolkit (GWT)使用不同於其他幾個專案的方法構建專案。有一個特別的檔案: GwtDefinition.gwt.xml 允許你通過配置 gdx.asserpath 來設定資源路徑,指向Android專案的assets 檔案。注意使用一個關聯路徑就像 .../demo-android/assets一便在工作空間被移動到別的地方時對於資源的引用不至於被破壞。這個建議可以通過一開始就配置好來避免你的同伴在這些事情上浪費寶貴的時間。

下面是 demo - html 中 GwtDefinition.gwt.xml 的程式碼。

trunk//EN" "

distro-source/core/src/gwt-module.dtd">

class='com.packtpub.libgdx.demo.client.GwtLauncher' />

value="../demo-android/assets" />

libgdx:[13]第二章 多平臺

相關問題答案