1

如果我拿着钥匙,有谁知道如何让模态做一些不同的事情?这就是我目前所拥有的:

        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
4

1 回答 1

1

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

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

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

于 2017-08-28T04:08:21.317 回答