2017-08-27 28 views
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 

回答

0

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

由于布尔属性不会左右键区分开,你需要保持前一个事件的记录,并检查要知道,如果你想让他们不同的工作要采取的行动。

+0

非常感谢:D – David