在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~
网友评论