2013-10-19 24 views
7

我已經使用AndEngine測試了好幾個月,但仍然沒有製作任何遊戲原型。有幾個原因我想切換到libgdx:從AndEngine切換到libgdx - 知道什麼?

    - AndEngine使用libgdx的INI包裝的Box2D的,但最新的消息傳達Andengine慢慢
    - 我主要針對Android的,但有容易移植到選項其他平臺可能會得心應手
    - 文檔! AndEngine絕對沒有文檔,除了例子。
    - 我希望獲得儘可能高的性能,而且在libgdx上看起來更簡單。

我很擔心libgdx的一些問題,那就是我需要編寫較低級別的代碼,並且完整遊戲的開發需要更長時間?但是,再次,有時我爲了理解AndEngine的某些部分如何工作而失去了幾天的時間,所以我甚至有可能使用libgdx更快地編寫代碼,因爲它有完整的文檔記錄。

在切換之前我應該​​瞭解libgdx?編碼遊戲和設計代碼的主要區別是什麼?

回答

8

您應該知道以下幾件事:

  1. 更高性能的,那是一個事實,也是衆所周知的。 Libgdx使用 本機代碼執行更困難的任務。
  2. 它的開發速度非常快,我不明白爲什麼(有些人)會說它 需要很多線來完成簡單的任務,那根本不是真的。如果您需要, 庫的編程水平非常高,可編程爲 低級別。特別是能夠立即在 桌面上測試,而不是等待應用部署到Android設備或更糟糕的模擬器。這使得開發時間更快,開發 。
  3. 圖書館給了很多的自由,你可以讓你的東西,因爲你想要的它 。例如,我製作了一個模板,用於每一個新的 遊戲,這使得我的速度更快。
  4. 你不必知道opengl,androidsdk或lwjgl,實際上你只需要知道 的庫的抽象。但是,如果需要,您可以製作 特定於平臺的代碼。這是很好的文件。
  5. 補充P.T.點,libgdx有一個box2d物理包裝和 子彈(三維)物理這是很容易使用(除了子彈:S nah開玩笑)。我會說,新的3d API幾乎完成, 沒有太大的改變,爲下一個穩定的版本,我甚至讀了irc 它已經完成了。我使用它,可以告訴你很容易使用的 。

總之,Libgdx是一個非常快速的開發庫。它非常高效,完整。有一個很好的幫助社區,還有很棒的文檔。我會建議你改變:)

3

如果您在完成原型時遇到問題,我會專注於您的工具的可用性(例如性能)來生成原型。所以,Box2d的更新速度不應該很重要(它處於足夠好的狀態)。在循環中沒有Android設備的情況下,在桌面上進行開發的能力應該很重要(構建/測試時間要快得多)。文檔和示例應該非常重要。高性能對於從未完成的原型無關緊要。以後再擔心。 (目標#1應該完成一些事情。)

Libgdx擁有大量的庫和包裝器,主要圍繞圖形API(例如Scene2d或SpriteBatch或TiledMap基礎結構)。有一個3d API,但它仍然移動得非常快,而且還不是一個穩定的開發地點。我想說的是,它沒有很多「遊戲性」抽象(雖然它確實有一些),但我真的沒有足夠的經驗與其他更高級別的庫進行比較。

而不是交易你目前的工具的短缺和缺陷的新工具的缺點和陷阱,你可能會更好地堅持你所知道的工具。

+0

我不同意libGDX的低級別。它有很多高層次的東西,比如TiledMap加載器。而且你也不需要知道任何關於OpenGL與libGDX一起工作...... – noone

+0

也許我不清楚有問題。當我說「使用AndEngine幾個月的測試」時,我的意思並不是說我長時間在AndEngine上積極工作。所以,我決不會說我知道它。這就是爲什麼我覺得現在是切換的好時機。如果我實際上不知道工具,「最好堅持使用你認識的工具」並不適用。與以前不同的是,現在我決定創建完整的遊戲(不僅是原型),無論它需要什麼或者它變得多糟。重點在過程中學習。這就是爲什麼我覺得我需要從一開始就選擇正確的環境。 – dario111cro

+0

@noone你說得對OpenGL和Libgdx。僅僅因爲我以這種方式使用它並不意味着它就是這樣(它的範圍更廣)。我想說它不提供「遊戲性」抽象(它們仍然是圖形和聲音導向),但也許我在其他工具箱中放棄了過多的功勞。我會稍微改變一下我的答案。謝謝。 –

4

P.T.萊斯特在答案中提出了很好的觀點。但是對於我來說,我認爲關於libgdx只需要瞭解一件事情,簡單地說,就是這個工具包不是引擎或框架。這一事實意味着你沒有陷入特定的做事方式。如果你想要一個微框架,用libgdx編寫一個框架。如果你想寫「Unity 2D」,用libgdx編寫它。如果你想把所有東西都放在一個文件中,把面向對象的原則拋到腦後,你可以用libgdx來做到這一點。

  • 它有助於它有據可查。
  • 它有助於快速。
  • 這有助於它擁有一個強大,知識淵博的社區。
  • 它有助於提供源代碼並且寫得很好。
  • 它有助於它帶有例子。
  • 它有助於它是一個平臺抽象層,因此相同的代碼將在多個平臺上運行。
  • 它有助於它被積極開發。

但基本上它是一個工具包,雖然是一個很好的工具包。您選擇使用該工具包取決於您。

相關問題