ios - 未调用 Swift 4 GLKViewController 更新方法

标签 ios graphics opengl-es swift4

我是一名新的 swift 开发人员。我正在使用 glkit 编写代码。我在 GLKViewController 不调用更新方法时遇到问题。请帮我修一下。谢谢你

import GLKit

游戏 Controller 类:GLKViewController{

override func viewDidLoad() {
    super.viewDidLoad()
    let glkView: GLKView = view as! GLKView
    glkView.context = EAGLContext(api: .openGLES2)!
    EAGLContext.setCurrent(glkView.context)
}

func update(){

}

override func glkView(_ view: GLKView, drawIn rect: CGRect) {

    glClearColor(1, 1, 1, 1)
    glClear(GLbitfield(GL_COLOR_BUFFER_BIT))
}

最佳答案

使用委托(delegate)!

  1. 在您的 ViewController 中,继承 GLKViewControllerGLKViewControllerDelegate
  2. viewDidLoad() 中为 self.delegate 分配 self
  3. 写出你的glkViewControllerUpdate(_ controller: GLKViewController)
class ViewController: GLKViewController, GLKViewControllerDelegate {
    override func viewDidLoad() {
        super.viewDidLoad()
        self.delegate = self
        ....
    }

    func glkViewControllerUpdate(_ controller: GLKViewController) {
        ....
        ....
    }
}

关于ios - 未调用 Swift 4 GLKViewController 更新方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49633199/

相关文章:

ios - 将表的行数设置为特定实体

iphone - AVAudioPlayer 的 IOS 最大音量?

javascript - GLSL 中阴影光线的平滑阴影无法正常工作

ios - 显示具有多种不同 UICollectionViewCells 类型的 UICollectionView

ios - 解释 glReadPixels()

java - 如何实现投影绘画?

ios - iOS 上的 OpenGL ES 1.1 : No clipping planes?

ios - OpenGL ES2 : syntax error when using "layout" keyword in vertex shader(iOS)

java - Jr Java-er 希望将参数传递给 Paint

c - 优化基于表的插值循环