osgPresentation.ActiveOperators
定义了一组用于操作 ActiveObject 的激活操作符。ActiveObject 指的是场景中被激活并可响应事件的对象。
以下是 osgPresentation.ActiveOperators
中定义的激活操作符:
SET_OBJECTIVE(objectiveName)
:将目标名称设置为 objectiveName
的 ActiveObject
激活。UNSET_OBJECTIVE(objectiveName)
:将目标名称设置为 objectiveName
的 ActiveObject
取消激活。TOGGLE_OBJECTIVE(objectiveName)
:切换目标名称设置为 objectiveName
的 ActiveObject
的激活状态。CLEAR_OBJECTIVES()
:取消激活所有 ActiveObject
。import osgPresentation
# 创建场景图,并设置为激活状态
scene = osgPresentation.ActiveObject('scene')
scene.active()
# 创建运动员,将其添加至场景图,并设置为激活状态
player = osgPresentation.ActiveObject('player', parent=scene)
player.active()
# 使用 SET_OBJECTIVE 操作符,将 scene_active_objective1 设置为激活状态
osgPresentation.ActiveOperators.SET_OBJECTIVE('scene_active_objective1')
# 使用 UNSET_OBJECTIVE 操作符,取消 player_active_objective1 的激活状态
osgPresentation.ActiveOperators.UNSET_OBJECTIVE('player_active_objective1')
# 使用 TOGGLE_OBJECTIVE 操作符,切换选手的激活状态
osgPresentation.ActiveOperators.TOGGLE_OBJECTIVE('player_active_objective2')
# 使用 CLEAR_OBJECTIVES 操作符,取消所有激活状态
osgPresentation.ActiveOperators.CLEAR_OBJECTIVES()
ActiveObject
可以响应事件,例如键盘和鼠标事件。ActiveOperators
不可直接实例化,应使用其中定义的操作符进行操作。SET_OBJECTIVE
,UNSET_OBJECTIVE
和 TOGGLE_OBJECTIVE
操作符,针对的对象需是 ActiveObject
,并且定义的名称应与 ActiveObject
的名称相匹配。CLEAR_OBJECTIVES
操作符取消所有 ActiveObject
的激活状态。