2016-10-27 3 views
-3

Я делаю систему питания для своей игры.Проблемы с raycasting

Я хочу, чтобы он использовал Raycast, чтобы вы могли его забрать, но я не могу заставить его работать. Когда я нажимаю на объект с тегом, он не работает.

public Text FoodUI; 
public int FoodAmount; 
public float Distance; 
public GameObject Hands; 

void Start() 
{ 
    FoodUI.text = "Food: " + FoodAmount; 
} 

void FixedUpdate() 
{ 
    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 
    RaycastHit hit; 
    if (Input.GetKeyDown(KeyCode.E)) 
    { 
     if (Physics.Raycast(ray, out hit)) 
     { 
      if (hit.collider.tag.Equals("Food")) 
      { 
       FoodAmount += 40; 
      } 
     } 
    } 
} 
+0

Вам не хватает открывающей скобки для оператора 'Physics.Raycast' if. – Enfyve

+0

dont думает, что это человек, я попробую –

+0

Добавьте 'Debug.Logs', чтобы проверить, работает ли ваш raycasting, например. один после raycast (и до проверки тега) и один в теге. –

ответ

0

Я бы рекомендовал использовать LayerMasks добиться того, что вы пытаетесь сделать: таким образом, вы можете сохранить выступления, будучи уверены, что не raycast нежелательных элементов. Также обратите внимание, что вы можете использовать Debug.DrawRay(), чтобы отобразить ваш raycast в Вид сцены.

+0

no я уже исправил материал спасибо !!! –

Смежные вопросы