学习Game Boy C++开发的好教程

5
我正在使用Deitel的这本书C++ How to Program, 5/e和一些互联网上的教程和资源学习C++,但我想学习如何使用C++Nintendo GameBoy Advance上开发游戏,但只能通过互联网上的资源进行学习,因为我现在不想花钱去尝试这件事。

5
你会在完成你的操作系统和编译器后或之前编写GBA游戏吗? - William
@William 不不,他必须先完成他的MMO游戏! - Ricket
2个回答

11

获得DevkitPro和像TONC这样好的库。此外,可以在GBADev上获得更多帮助。

尽管您可以在GBA开发中使用C++,但建议使用纯C。选择权在你手中。


整个类的东西有很多额外的开销。只需调用Damage(theKid,20)比调用theKid.Damage(20)更容易,其中thisEntity是一个基于另一个类的实例,该类实际上包含Damage方法。但这只是我的理论,伙计。 - Kawa
与良好的 C 语言相比,类几乎不会增加太多开销。只要保持简单,就不会有任何开销。它们甚至可以比较差的 C 语言拥有更少的开销。例如,虚继承在 C 语言中很难模拟。但是,C++ 的异常模型确实会增加开销。 - Mooing Duck
如果你让它们足够简单,以至于几乎没有额外的开销,那么你可以像我基于Wolf3D的例子一样全力以赴。 - Kawa

-1

你也可以尝试使用wxWidgets,它非常有帮助。这是一个简单游戏的大致框架:

  • gameEngine类(负责创建精灵,设置环境,检查按键输入,监视游戏的各种统计数据,如得分、尝试次数等)
  • Sprite类(它将监视生命、健康、方向等)
  • Hero -> 从sprite类继承一些自己的功能。
  • Enemy -> 也从sprite类继承。
  • Fire -> 同样也从sprite类继承。

3
你也可以在后院设置一张网,然后对“抛射物”进行建模。决定你是要打排球还是羽毛球,并相应地创建“球”或“羽毛球”类(这两个类都应继承自“抛射物”类)。使用行动装置可以作为一个很好的基类,你可以从中派生出排球需要的“手”和羽毛球需要的“球拍”。在每轮游戏中,交替使用行动装置,直到抛射物撞到地面。如果你想的话,也可以从“抛射物”派生出“游戏男孩”,并将其扔出窗外,就像你的回答所做的那样... :-) - HostileFork says dont trust SE
这是多年前的事情了——我甚至都不记得自己写过这条评论——但我很确定我没有给你点踩!只是有点嘲笑了一下你*(但我也曾因为类似的事情而责备别人。所以我会悔过并为此道歉)* 但是,插在调侃中的观点是,它太抽象了,以至于没有帮助……就像你读一份“美味柠檬酱鸡”的食谱,其中极其详细地说明如何打开烤箱,但最后只是简单地说“制作美味柠檬酱,与鸡肉混合,享用!”问题是关于Gameboy的;具体信息是有帮助的。 - HostileFork says dont trust SE
1
难怪你是一个hostilefork ;) 哈哈。现在我看着我的回答,似乎有点傻。我真的不在乎负评,它只是一个数字,但如果附带解释,那么至少这个人可以在未来改进。你不必道歉,我应该感谢你教给我 :) - infinitloop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接