Irrlicht: не могу позвонить на мероприятие

Я новичок в irrlicht, и я пытался реализовать ключевые события. Я следовал за учебником по irrlicht на их сайте, но он не работает.

Вот код:

class MyEventReceiver : public irr::IEventReceiver
{
public:
  MyEventReceiver()
  {
    for (irr::u32 i = 0; i < irr::KEY_KEY_CODES_COUNT; ++i)
      KeyIsDown[i] = false;
  }

virtual bool OnEvent(const irr::SEvent& event)
  {
    std::cout << event.EventType << std::endl;
    if (event.EventType == irr::EET_KEY_INPUT_EVENT)
      KeyIsDown[event.KeyInput.Key] = event.KeyInput.PressedDown;
    return (false);
  }

  virtual bool IsKeyDown(irr::EKEY_CODE keyCode) const
  {
    return (KeyIsDown[keyCode]);
  }

private:
  bool KeyIsDown[irr::KEY_KEY_CODES_COUNT];
};

Обычно, если я нажимаю кнопку, должно вызываться onEvent, но я могу нажать любую кнопку, которую я хочу, чтобы она никогда не вызывала эту функцию. Конечно, я создал MyEventReceiver в основном.

Может ли кто-нибудь, кто знает irrlicht, помочь мне, пожалуйста?

1 ответ

Решение

У меня та же проблема, это потому, что вы создали его, но вы не даете его при создании устройства: вот так, IrrlichtDevice* device = createDevice(driverType, core::dimension2d<u32>(640, 480), 16, false, false, false, --->&receiver<---);

Другие вопросы по тегам