2011-04-16 78 views
1

在我讀到的幾乎所有書籍中,都提及Windows API(例如DirectX),在談論C++和遊戲編程時,C++和Mac OSX

當使用C++時,什麼API適用於Mac或可用於多平臺開發?

我想用C++創建遊戲,目前在Mac上。如果需要的話,我可以在Unix和Windows之間切換。

推薦用於C++遊戲開發的什麼,將編程爲mac是一個缺點?

或者我應該只使用C++和OpenGL並將其用於所有平臺? :P

+3

如果你不想寫代碼的兩倍,OpenGL的將是一段路要走。 – 2011-04-16 05:50:13

+0

這將是一本很好的開始?紅色書或其更新的橙色8版? – jarryd 2011-04-16 05:59:46

+0

@ Helium3:紅色書是OpenGL編程指南,Orange書是關於GL陰影語言的。紅皮書是一個好的開始。 – 2011-04-16 06:02:00

回答

1

我會建議 SFML和OpenGL。 SFML是一個更現代的,面向C++的跨平臺框架,允許您爲窗口,鍵盤和鼠標處理編寫通用代碼。然後,您將使用OpenGL編寫大部分遊戲,無論如何都是跨平臺的。

我自己使用SFML和OpenGL來定位主要在Mac上開發的Mac OS X,Linux和Windows(我可以在三個操作系統中進行三重啓動以在其上開發)。

編輯:我對此有了一個改變,因爲我有點被SFML中的Mac支持嚇住了;我現在要使用Qt,因爲它得到了更好的支持,提供了更好的工具,更好的文檔和更好的示例。

+0

打電話給我玩世不恭,但我通常對任何廣告都稱爲「現代,C++和麪向對象」的可疑內容。根據我的經驗,你可以有任何兩個,但不是全部三個。 (特別是,C++中沒有關於OOP設計的「現代」) – jalf 2011-04-16 09:10:14

+0

你已經把我的話說成是脫離語境的;我的意思是比SDL和C++更現代,而不是C。 – trojanfoe 2011-04-16 12:49:28

+0

我知道,但他們在SFML網站上使用相同的詞語。我的觀點只是關於在C++中使用OOP的「現代」很少。 :)這是更多關於SFML的評論,而不是您的文章。 :) – jalf 2011-04-16 13:48:52

0

您可以使用OpenGL,它是跨平臺的,並且使用GLUT或SDL來處理輸入和窗口以及東西或僅使用SDL。 (我會混合使用OpenGL和SDL,因爲它更容易管理輸入,並且仍然是跨平臺的,除非您製作2D遊戲,然後使用SDL作爲SDL製作2D遊戲)。

喔及有關OpenGL的Mac上的一個另外的事情是對OpenGL的頭是最教程有一點不同:

#include <OpenGL/OpenGL.h> 

不要花時間對像我一樣...

哦,如果你打算使用過剩:

#include <GLUT/glut.h> 
+0

謝謝。我爲iPhone開發使用了它。 – jarryd 2011-04-16 06:07:43

0

如果你正在製作2D遊戲,我也建議你試試SFML;這是一個相當年輕的庫,與SDL具有相同的範圍。它是純粹的C++(與SDL相反,它只是C),所以如果你喜歡OOP,開發應該對你更容易一些。

它還看來,SFML是顯著快於SDL:
http://www.sfml-dev.org/forum/viewtopic.php?t=43