how do you keep a model to keep walking (with walking cycle frame) while a key is held down(key repeat)?
i've done something like this..and after you hold it for some time, it goes really funny.
Code: Select all
bool pressed=false;
core::vector3df v;
class MyEventReceiver : public IEventReceiver
{
public:
virtual bool OnEvent (SEvent event)
{
if (moveNode!=0 && event.EventType==irr::EET_KEY_INPUT_EVENT)
{
if (!pressed)
{
if (event.KeyInput.Key==KEY_KEY_W)
{
//move
walk_left=true;
v = moveNode->getPosition();
moveNode->setFrameLoop(2,5);
moveNode->setAnimationSpeed(10);
moveNode->setLoopMode(false);
v.Z += 1.0f;
moveNode->setPosition(v);
return true;
}
else
{
//idle
moveNode->setFrameLoop(90,110);
moveNode->setLoopMode(true);
moveNode->setAnimationSpeed(10);
pressed=false;
anim_cycle = false;
return true;
}
}
return false;
}
};thanks for your time