2011-04-16 75 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