All I need is to be able to press the spacebar and it change gamemode to 1.
Code: Select all
#include "stdafx.h"
int gamemode = 0;
ISceneNode* menucubenode = 0;
IrrlichtDevice* device = 0;
class MyEventReceiver : public IEventReceiver
{
public:
virtual bool OnEvent(SEvent event)
{
if (menucubenode != 0 && event.EventType == irr::EET_KEY_INPUT_EVENT && !event.KeyInput.PressedDown)
{
switch(event.KeyInput.Key)
{
case KEY_SPACE:
{
if (event.KeyInput.Key == KEY_KEY_W)
menucubenode->drop();
}
return true;
}
}
return false;
}
};
#pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup")
int main()
{
MyEventReceiver receiver;
IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D8, dimension2d<s32>(640, 480), 32, false, false, false, &receiver);
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
ISoundEngine* sound = createIrrKlangDevice();
device->setWindowCaption(L"Block Platformer");
smgr->addLightSceneNode(0, vector3df(0,128,-128), SColor(255,255,255,255),100);
smgr->addCameraSceneNode(0, vector3df(0,0,-100), vector3df(0,0,0));
IAnimatedMesh* menucubemesh = smgr->getMesh("./Data/menucube.3ds");
IAnimatedMeshSceneNode* menucubenode = smgr->addAnimatedMeshSceneNode( menucubemesh );
IAnimatedMesh* infomesh = smgr->getMesh("./Data/text.3ds");
IAnimatedMeshSceneNode* infonode = smgr->addAnimatedMeshSceneNode( infomesh );
if (menucubenode)
{
ISceneNodeAnimator* menuanim = smgr->createRotationAnimator(vector3df(0.1,0.1,0.1));
menucubenode->addAnimator(menuanim);
menuanim->drop();
}
if (infonode)
{
infonode->setMaterialFlag(EMF_LIGHTING, false);
}
if (gamemode == 0)
{
sound->play2D("./Data/title.mod");
infonode->setPosition(vector3df(2.5,0,0));
}
while(device->run())
{
driver->beginScene(true, true, SColor(255,0,0,0));
smgr->drawAll();
driver->endScene();
}
device->drop();
sound->drop();
return 0;
}
Just please anyone help.
Maybe I should just forget about this game and continue development on my operating system.