【问题标题】:Irrlicht : can't call onEventIrrlicht:无法调用 onEvent
【发布时间】:2016-05-08 17:22:52
【问题描述】:

我是 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,但我可以按下任何我希望它永远不会调用此函数的按钮。当然,我在 main 中创建了一个 MyEventReceiver。

知道irrlicht的人可以帮帮我吗?

【问题讨论】:

    标签: irrlicht


    【解决方案1】:

    我遇到了同样的问题,这是因为你创建了它,但你在创建设备时没有给出它:就像这样,IrrlichtDevice* device = createDevice(driverType, core::dimension2d<u32>(640, 480), 16, false, false, false, --->&receiver<---);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多