PyOpenGL はじめました:glutIdleFunc

PyOpenGL はじめました記事一覧
glutIdleFunc

《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部
第1版♪2006/09/21 ● 第2版♪2009/04/07

■ 概要

glutIdleFunc:イベントが発生していないときに起動される関数を設定します。

■ 関連記事
GLUT API:英 API:和 Description
glutIdleFunc 7.18 glutIdleFunc 7.18 glutIdleFunc sets the global idle callback.
□□□□□□□

概要:glutIdleFunc

$ python2.5 animatiecolorCube.py

立方体が回転します
>>> print glutIdleFunc.__doc__ Specify handler for GLUT 'Idle' events def handler( ): return None

イベントが発生していないときに呼応する、イベントハンドラー handler が必要です。これは、引数を持たず、値を返さない(None をリターン値とする)関数です。すると、アニメーションを実行できるように、イベントハンドラー関数を呼び出します。

事例:アニメーションを描く

class PyoWindow(object):
    def glut_Func(self, model):
        ...
        if hasattr(model, "idle"):
            glutIdleFunc(model.idle)         # sets the global idle callback

イベントハンドラーとして、モデルが保持する model.idle を設定します。

class ex_animatiecolorCube(object):
    ## ---------------------------------------- glutIdleFunc
    def idle(self):
        angle = self._angle
	angle += 1
        if angle > 360:
            angle %= 360
        self._angle = angle
        sleep(1 / float(self._frameRate))
        glutPostRedisplay()

回転角 self._angle を更新します。 

Tips

》作業中です《

Last updated♪09/05/15