2017-08-27 29 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