使用带有blender模态的键修饰符

时间:2017-08-27 21:51:04

标签: python modal-dialog operator-keyword blender bpy

有没有人知道如果我持有钥匙,如何让模态做出不同的事情? 这就是我现在所拥有的:

        if event.type == 'MOUSEMOVE': 
            if event.type == 'LEFT_SHIFT' and event.value == 'PRESS':
                self.value = (event.mouse_region_x - self.mouse_x_initial)
                print(self.value)

            self.value = event.mouse_region_x - self.mouse_x_initial

1 个答案:

答案 0 :(得分:1)

event参数具有ctrlaltshiftoskey的布尔属性。测试这些以了解在事件发生时是否正在保持其中一个键。

def modal(self, context, event):
    if event.type == 'MOUSEMOVE':
        if event.ctrl:
            print('Ctrl is down')
        if event.shift:
            print('shift is down')
        if event.alt:
            print('alt is down')
    elif event.type == 'ESC':
        return {'CANCELLED'}
    return {'RUNNING_MODAL'}

由于布尔属性不区分左右键,因此您需要保留上一个事件的记录,并检查该事件,以便在您希望它们以不同方式工作时知道要采取的操作。