Galaxy2D游戏引擎教程1 - Hello World

40 views
Skip to first unread message

剑孤寒

unread,
Jan 3, 2010, 8:41:54 AM1/3/10
to 剑孤寒的游戏编程小站
这篇教程将介绍如何用Galaxy2D游戏引擎构建一个最基础的应用程序。

首先设置编译环境:

1. 新建一个Win32项目,打开Galaxy2D引擎目录,复制engine到当前项目目录下。

2. 在项目属性选项卡中的“附加包含目录”中加入引擎头文件目录"engine/inc"。

3. 在“附加依赖项”中加入"engine/lib/galaxy2d.lib"。

4. 复制动态链接库"engine/lib/galaxy2d.dll"至工作目录。


5. 运行时库Release版选择/MT,Debug版选择/MTd

接下来在当前工程新建一个main.cpp文件,把下面内容添加进去:

#include "ggebase.h"
using namespace gge;

//帧函数
bool Frame()
{
//开始渲染
if (Graph_BeginScene())
{
//清屏
Graph_Clear();

//画一个矩形
Graph_RenderQuad(300.0f, 220.0f, 340.0f, 260.0f);

//结束渲染
Graph_EndScene();
}

return false;
}

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
//创建游戏引擎
if (!Engine_Create()) return 0;

System_SetState(GGE_TITLE, "Galaxy2D Game Engine - Hello World");
//设置帧函数
System_SetState(GGE_FRAMEFUNC, Frame);
//设置帧率
System_SetState(GGE_FPS, 30);

//系统初始化
if (System_Initiate())
{
//开始运行帧函数
System_Start();
}

//关闭引擎,释放资源
Engine_Release();
return 0;
}


如果编译成功运行该程序将会在屏幕中间显示一个白色的方块,现在我们回顾一下前面的代码,看看Galaxy2D游戏引擎是如何运作的。

在WinMain()函数中首先调用Engine_Create()函数,这个函数将初始化游戏引擎运行环境以及进行一些基础检测。之后调用
System_SetState()函数设置了一些引擎运行状态,这些状态后面会讲到,然后就可以调用System_Initiate()进行引擎初始
化。如果引擎初始化成功调用System_Start()函数,至此游戏引擎才真正开始运作。最后,在游戏引擎关闭时必须调用
Engine_Release()做一些清理工作。

在引擎初始化之前我们设置了三个状态,首先是“GGE_TITLE”,这个状态设置的是程序标题栏文字;然后是“GGE_FRAMEFUNC”,这个状
态设置帧函数,也就是游戏的主循环;最后是“GGE_FPS”,这个状态告诉引擎主循环将以30fps的帧率运行,减小CPU占用率。需要注意的
是“GGE_FRAMEFUNC”和“GGE_FPS”是可以在运行时更改的,而“GGE_TITLE”一旦系统初始化完毕就无法更改了,详细信息可以
查看引擎文档。

为了在屏幕中间画一个白色的方块,在帧函数Frame()里做了如下工作。首先调用Graph_BeginScene()函数告诉引擎要开始画东西了,
如果该函数返回true表示引擎已准备好,接下来调用Graph_Clear()清屏,然后用Graph_RenderQuad()函数画矩形,最后调
用Graph_EndScene()告诉引擎东西全都画完了。


相关代码:http://cid-0b791ea72e78c873.skydrive.live.com/self.aspx/.Public/
2010-01-02/tutorial.rar

Reply all
Reply to author
Forward
0 new messages