代码之家  ›  专栏  ›  技术社区  ›  mk12

Mac开发人员-2d游戏入门帮助

  •  1
  • mk12  · 技术社区  · 15 年前

    我想制作一些简单的2d游戏/克隆(适用于Mac),但我有几个问题:

    • 我应该用吗 石英2d OpenGL
    • 似乎有很多typedef的东西,比如CGFloat/GLfloat,我应该使用哪个?
    • 我应该在游戏中也使用Objective-C(类)还是仅仅使用C?(我假设我将使用Objective-C和Cocoa作为窗口和视图。)
    • 每次重画整个视图可以吗?我真的不明白NSView的-drawRect dirtyRect参数是如何工作的,它如何知道我要更新什么?
    • 这方面有什么好的教程吗?

    谢谢

    2 回复  |  直到 15 年前
        1
  •  3
  •   Community dbr    7 年前

    Quartz或Core动画与OpenGL的对比实际上取决于您试图做什么。如果您想要简单的绘图和动画,请使用Quartz或CA。如果您想要快速/强大的游戏,请使用OpenGL。最后我建议两者都要学习。

    对于typedef'd,请使用针对您正在使用的特定系统的选项。对于石英/CA/CG,使用CGFloat。对于OpenGL,使用GLfloat。

    目标C与目标C也取决于你想要的速度。Objective-C增加了一点开销,但(显然)可以让您创建更多面向对象的游戏。如果使用Quartz和Core动画,我建议使用Objective-C,如果使用OpenGL,则建议使用Obj-C或C。然而,如果你在Mac电脑上做这件事(例如,不在iPhone上),你可能不会看到太多的不同,除非你在做复杂的快速绘图。

    我不完全确定drawRect,但是 this question 有一些信息可以帮你回答这个问题。

    this tutorial ,我总是听到 NeHe tutorials

        2
  •  1
  •   Breton    15 年前

    如果您将SDL与Cairo或OpenGL一起使用,您可以获得几乎相同的编程模型,但您可以免费获得跨平台兼容性。如果你愿意的话,你甚至可以在游戏的大部分时间里继续使用objective C。

    您希望获得多大的图形强度?对于2D来说,开罗可能更容易适应。