PyOpenGL はじめました:glutKeyboardFunc

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

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

■ 概要

glutKeyboardFunc:キーボード操作に呼応する関数を設定します。

■ 関連記事
GLUT API:英 API:和 Description
glutKeyboardFunc 7.4 glutKeyboardFunc 7.4 glutKeyboardFunc sets the keyboard callback for the current window.
□□□□□□□□□ □□□□□□

概要:glutKeyboardFunc

$ python2.5 animatiecolorCube.py

立方体が回転します
>>> print glutKeyboardFunc.__doc__ Specify handler for GLUT 'Keyboard' events def handler( (int) key, (int) x, (int) y ): return None

キーボードイベントが発生したときに呼応する、イベントハンドラー handler が必要です。これは、引数を持たず、値を返さない(None をリターン値とする)関数です。すると、回転する速度を変化させるための、イベントハンドラー関数を呼び出します。

事例:回転する速度を設定する

class PyoWindow(object):
    def glut_Func(self, model):
        ...
        glutKeyboardFunc(func)     # sets the keyboard callback for the current window
        ...

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

class ex_animatiecolorCube(object):
    ## ---------------------------------------- glutKeyboardFunc
    def keyboard(self, *args):
        frameRate = self._frameRate
        key, x, y = args
        if key == '\x1b':   # escape
            exit()
        if key == '<':
            frameRate /= 2
            if frameRate<1: frameRate = 1
        if key == '>':
            frameRate *= 2
        self._frameRate = frameRate
        glutPostRedisplay()

キー〔<〕を押すと、回転する速度を減速します。キー〔>〕を押すと、回転する速度を加速します。escape キーを押すと、アプリケーションを終了します。

Tips

》作業中です《

Last updated♪09/05/12