Problem z Ieventreceiver w irrlichcie.

0

Otóż mam problem tego typu. Tworzę taki kod:

#include <irrlicht.h>
#include <iostream>
using namespace std;
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;


IrrlichtDevice* device = 0;
IAnimatedMeshSceneNode* node = 0;
#ifdef _IRR_WINDOWS_
#pragma comment(lib, "Irrlicht.lib")
#endif
class MyEventReceiver : public IEventReceiver
{
public:
	virtual bool OnEvent(const SEvent& event)
	{


		if (device != 0, node != 0, event.EventType == irr::EET_KEY_INPUT_EVENT&&
			!event.KeyInput.PressedDown)
		{
			switch(event.KeyInput.Key)
			{
            case KEY_KEY_W:
                 {           
                  node->setFrameLoop(0, 20);
                    }
                    return true;
                    }
		}

		return false;
	}
};
   
                                             
int main()
{
MyEventReceiver receiver;

device = createDevice( video::EDT_SOFTWARE, dimension2d<s32>(640, 480), 16,
			false, false, false, &receiver);


	device->setWindowCaption(L"Moj pierwszy projekt");


	IVideoDriver* driver = device->getVideoDriver();
	ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* guienv = device->getGUIEnvironment();


IAnimatedMesh* mesh = smgr->getMesh("C:/Documents and Settings/userek/Pulpit/Sergiusz/test80.x");	 
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );	

	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();
	}



	return 0;
}


</cpp>

Ładnie go kompiluje i wszystko pieknie ładnie, otwieram ją, wszystko działa, ale gdy włączam animacja rzeczywiście kończy się na odpowiednich klatkach, lecz pojawia się komunikat windowsa, że wystąpił problem z ta aplikacją i zostanie ona zamknięta.

Dlaczego tak się dzieje i co można zrobić, aby ten błąd nie wyskakiwał??

Czyżby to pytanie było, aż tak trudne?? W dalszym ciągu oczekuję na pomoc.

0

Jak juz @aifam96 odswiezyl po tylu latach...

if (device != 0, node != 0, /*...*/)

http://ideone.com/WTMPxk

1 użytkowników online, w tym zalogowanych: 0, gości: 1