gpt4 book ai didi

c++ - Irrlicht 正在错误路径中查找文件

转载 作者:IT王子 更新时间:2023-10-29 00:32:20 26 4
gpt4 key购买 nike

我正在使用 Irrlicht 编写游戏。我有问题。

我在 /home/m4tx/Projects/Discoverer/Discoverer/bin/Debug/ 中有游戏,在 /home/m4tx/Projects/Discoverer/Discoverer/bin/Debug 中有模型/媒体/。我修改了第一个 Irrlicht 示例的代码:

#include <irrlicht/irrlicht.h>

using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;

int main(int argc, char *argv[])
{
IrrlichtDevice *device =
createDevice( video::EDT_OPENGL, dimension2d<u32>(640, 480), 32,
false, false, false, 0);

if (!device)
return 1;

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 OpenGL!",
rect<s32>(10,10,260,22), true);

IAnimatedMesh* mesh = smgr->getMesh("./media/sydney.md2");
if (!mesh)
{
device->drop();
return 1;
}
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );

if (node)
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setMD2Animation(scene::EMAT_STAND);
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;
}

但是 Irrlicht 只在 /home/m4tx/... 中寻找模型

如何修复?

最佳答案

您需要获得正确的工作目录。

代码中一个好的调试行是打印当前路径,或记录它。我通常把它放在 main 的第一行。

#include <unisdt.h>
#include <stdlib.h>

char cwd[1024] = "";
getcwd( cwd, 1024 );
printf( "Current path: %s\n", cwd );

同时检查您的代码块项目文件

寻找:

<Option working_dir="." />

并根据需要进行更改。

http://wiki.codeblocks.org/index.php?title=Project_file#Working_directory

关于c++ - Irrlicht 正在错误路径中查找文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4738295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com