Visual Studio 2008中的irrlicht引擎开发实例

互联网 | 编辑: 江海明 2008-08-22 10:30:00转载

在Visual Studio 2008中用VC++进行 Irrlicht engine 的开发,步骤如下:

1,在VS2008中创建一个project,其中选择Win32 Console Application(Win32控制台应用)开发;

2,建好的Win32控制台应用中的默认主函数是 void _tmain(...),将其改为 void main(...);

3,在主函数之前添加 namespace std; (这是标准做法,不加也不会有明显的问题,但是讲命名空间引入是比较好的做法。)

4,将Irrlicht的库文件和头文件添加进工程中,有两种做法,可根据需要选择不同的用法:

1), Tools -> Options -> Projects and Solutions -> VC++ Directions: ‘Show directions for:’

Add include, lib…

说明:这个做法实际是在VS2008的工程配置中将irrlicht的库文件都添加进去了,所以所有使用VS2008的工程文件都包含了这个设置。如果平时使用的工程都会用到这个库,那么适合用这种方法设置。如果平时适用VS2008适用irrlicht的机会不多,就用下一种方式。

2), 在一个已打开的工程上,右键:

Properties -> C/C++ -> General: include

-> Linker -> General: library

说明:这个设置只影响当前被设置的工程。如果又新建一个工程,则又要重新设置一次。

5, 所有的代码:

// HelloWorld.cpp : Defines the entry point for the console application.

//

#include “stdafx.h”

#include <irrlicht.h>

using namespace irr;

using namespace core;

using namespace scene;

using namespace video;

using namespace io;

using namespace gui;

#pragma comment(lib, “Irrlicht.lib”)

int main(int argc, _TCHAR* argv[])

{

IrrlichtDevice *device = createDevice(EDT_SOFTWARE, dimension2d<s32>(512, 384), 16,    false, false, false, 0);

device->setWindowCaption(L“Hello World! - Irrlicht Engine Demo”);

IVideoDriver* driver = device->getVideoDriver();

ISceneManager* smgr = device->getSceneManager();

IGUIEnvironment* guienv = device->getGUIEnvironment();

guienv->addStaticText(L“Hello World! This is the Irrlicht Software engine!”, rect<int>(10,10,200,22), true);

IAnimatedMesh* mesh = smgr->getMesh(“../../media/sydney.md2”);

IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );

if (node)

{

node->setMaterialFlag(EMF_LIGHTING, false);

node->setFrameLoop(0, 310);

node->setMaterialTexture( 0, driver->getTexture(“../../media/sydney.bmp”) );

}

smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));

while(device->run())

{

driver->beginScene(true, true, SColor(255,100,101,140));

smgr->drawAll();

guienv->drawAll();

driver->endScene();

}

device->drop();

return 0;

}

6,还有个非常重要的问题,要将 Irrlicht.dll 复制到当前这个工程的文件夹中,才能正确调用。

7,编译,Then, it works~

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑