Event Receiver
Code: Select all
class MyEventReceiver : public IEventReceiver
{
public:
virtual bool OnEvent(const SEvent& event)
{
if (P1node != 0 && event.EventType == EET_KEY_INPUT_EVENT && !event.KeyInput.PressedDown)
{
switch(event.KeyInput.Key)
{
case KEY_KEY_W:
{
vector3df P1up = P1node->getPosition();
P1up.Y += event.KeyInput.Key == KEY_KEY_W ? 5.0f : -5.0f;
P1node->setPosition(P1up);
break;
}
case KEY_KEY_S:
{
vector3df P1down = P1node->getPosition();
P1down.Y += event.KeyInput.Key == KEY_KEY_S ? -5.0f : 5.0f;
P1node->setPosition(P1down);
break;
}
return true;
}
}
return false;
}
}; Code: Select all
int main()
{
//create a receiver out of MyEventReceiver
MyEventReceiver receiver;
// create OpenGL device with receiver as the Event Receiver
IrrlichtDevice *device = createDevice(EDT_DIRECT3D9, dimension2d<s32>(640, 480), 16, false, false, false, &receiver);
.........other code
