2013-01-19 74 views
1

所以我有一個Python控制器,它有兩個傳感器連接到它,一個鼠標左鍵傳感器和一個鼠標懸停傳感器,都具有以0的頻率啓用TRUE電平觸發。Python控制器被連接至其被示出如下的腳本:Blender Mouse Over not correct HitObject

# Gather information. 
scene = GameLogic.getCurrentScene(); 
camera = scene.active_camera; 
controller = GameLogic.getCurrentController(); 

# Change to Earth camera. 
clicked = controller.sensors['MouseClick'].positive; 
if clicked: 
    hitObject = controller.sensors['MouseOver'].hitObject; 
    if hitObject is not None: 
     print(hitObject.name); 
     if(hitObject.name == 'Earth'): 
      scene.active_camera = 'Earth Camera'; 
    else: 
     print('Nothing hit!'); 

基本上,它應該檢查是否被點擊鼠標的左鍵,並且如果是這樣抓住小鼠的hitObject過傳感器和打印出的名稱它,如果鼠標懸停在對象上,它會打印出「Nothing hit!」。然而,在遊戲中,當我點擊一個物體時(比如地球,它很難錯過點擊),它所做的只是打印出「沒有擊中!」。

我使用傳感器的方式有什麼問題嗎?我的Python在這裏不正確嗎?爲什麼controller.sensors['MouseOver'].hitObject總是None

回答

0

對象,你想點擊不應該有物理類型'沒有碰撞'。我知道'靜態'有效。

祝你好運。

相關問題