在 blender modal 中使用键修饰符

Using a key modifier with blender modal

有谁知道如果我有一个键,如何让模态做一些不同的事情? 这是我目前拥有的:

        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

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'}

由于布尔属性不区分左键和右键,因此您需要记录上一个事件,并检查它以了解如果您希望它们以不同方式工作时要采取的操作。