游戏编程

时间:2008-09-23 22:30:15

标签: c++

在c ++游戏编程中,我可以使用哪些库进行运动和混合?我需要有关声音,图像,扩展算法的库,如2xsai和超级鹰。我需要像fblend和动作这样的库。如何在devcpp中编译fblend的函数? 2d游戏......和图书馆应该与devcpp兼容

5 个答案:

答案 0 :(得分:5)

我主要使用这两个库来进行3D游戏:

SDL

  

Simple DirectMedia Layer是一个跨平台的多媒体库,旨在通过OpenGL和2D视频帧缓冲提供对音频,键盘,鼠标,操纵杆,3D硬件的低级访问。

ODE

  

ODE是一个开源的高性能库,用于模拟刚体动力学。它功能齐全,稳定,成熟且独立于平台,具有易于使用的C / C ++ API。它具有先进的关节类型和集成的摩擦碰撞检测。 ODE可用于模拟车辆,虚拟现实环境中的物体和虚拟生物。

答案 1 :(得分:3)

DevMaster是一个很好的开始。

检查Irrlicht - 最好的免费引擎之一。它很容易启动和开始。

答案 2 :(得分:3)

Gosu是一个紧凑,周到的C ++库(也有Ruby绑定)。我现在正在使用Gosu进行一个项目,它实现了它的承诺:它确实是最小的,但它不会妨碍你。

或者,始终有SDL. SDL is ultimately a fairly low-level API for doing 2D graphics with OpenGL.

I used to use ClanLib。它功能非常丰富。然而,它的发展似乎非常缓慢,我最终继续前进。不过,这当然值得一看。

对于2D中的基本物理,您可能会发现Box2D很有用。不幸的是,它的文档有点差和令人困惑,但总的来说它是一个很好的库。使用3D物理引擎如果你只是要进行2D工作肯定是过度杀戮并且会使你的工作变得比它需要的更难。

使用其中一个库并非绝对必要,尽管我强烈建议。完全可以直接使用OpenGL或Direct3D构建游戏。如果您计划实施相当先进的图形技术,那么这条路线更可取。

正如Ben所说,gamedev.net是关于游戏开发问题的一个非凡的地方。我一直在那里观看论坛多年了。

最后,我在这里有一个不完整的免费游戏开发技术列表,包括C ++以外语言的库。

答案 3 :(得分:2)

你肯定想看看着色器。着色器允许您使用世界数据或先前的帧数据来装饰当前场景。这样做使用着色器创建运动模糊和其他效果相对容易。

我建议您阅读http://gamedev.net并查看一些名为Game Programming Gems的书籍。

答案 4 :(得分:1)

开始使用GNU Emacs(gnu.org/software/emacs)和gcc(gcc.gnu.org或mingwm.org获取Windows版本)。熟悉操作系统的shell(命令行),足以创建文件,更改目录和复制/移动文件。

阅读一下Emacs的功能(几乎无穷无尽),然后开始(IDE只是为了隐藏你的命令行)。

SDL让您以跨平台的方式访问计算机的视频卡,它还可以播放声音,并且有许多第三方插件(SDL Image,SDL TTF等等)。但是,它不提供3d功能,使用OpenGL(你可以使用SDL和OpenGL)。我建议在SDL2.0之前从SDL1.2开始,因为它更简单。 www.libsdl.org/release/SDL-1.2.15/docs/html/是开始学习SDL1.2的好地方。

SDL1.2没有提供任何原始绘图例程,如果您进行互联网搜索,这不是问题,您会发现许多算法可以在一个简单的文件中实现。

OpenAL是一个3D声音库。

我在本文中提到的所有软件都有开源版本。

相关问题