【问题标题】:SDL iOS disable event pumpSDL iOS 禁用事件泵
【发布时间】:2018-03-09 20:11:55
【问题描述】:

我对以下 SDL 函数有疑问:

void SDL_iPhoneSetEventPump(SDL_bool enabled)

文档说:

使用此功能可启用或禁用 Apple iOS 上的 SDL 事件泵。

现在在什么情况下需要或推荐使用这个功能?

【问题讨论】:

    标签: c++ ios iphone events sdl


    【解决方案1】:

    当您不希望轮询事件触发您添加到通用或默认运行循环中的任何CADisplayLink 时,这很有用。

        self.displayLink = CADisplayLink(target: self, selector: #selector(self.runTick(step:)))
        self.displayLink?.add(to: .main, forMode: .default)
    

    如果您在此处对 SDL2 事件进行轮询或迭代,它将触发另一个回调。

           @objc func runTick(step: CADisplayLink) {
                //poll events. 
            }
    

    因为这个SDL2 sn-p:

      SInt32 result;
      do {
           result = CFRunLoopRunInMode(kCFRunLoopDefaultMode, seconds, TRUE);
      } while (result == kCFRunLoopRunHandledSource);
    

    【讨论】:

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