2016-11-30 11 views
-1

Я получил эту ошибку Не удается неявно преобразовать тип System.Collections.Generic.List<Leap.Hand> в Leap.HandНе удается неявно преобразовать тип `` System.Collections.Generic.List <Leap.Hand> к `Leap.Hand`

Вот мой код:

using UnityEngine; 
using System.Collections; 
using Leap; 
using Leap.Unity; 

public class Swimming : MonoBehaviour { 

Controller controller; 


void Start(){ 
    controller = new Controller(); 
} 

void Update(){ 

    Frame frame = controller.Frame(); // controller is a Controller object 
    Hand hand = frame.Hands; 

    for (int i = 0; i < frame.Hands.Count; i++) { 
     if (frame.Hands [i].IsLeft) { 
      Debug.Log ("Left Hand Detected"); 
     } 
    } 
    } 
} 

Я искал много, но я ничего не мог найти. Может кто-нибудь мне помочь, пожалуйста

+2

'frame.Hands' - это коллекция экземпляров' Hand'. Это не одна «Рука». Это вещь, которая содержит много «Руки». Это совсем другое дело. Коробка с котятами - это не котенок. Вы не можете кормить коробку. Если вы хотите одного котенка, вы должны добраться до него и вытащить одного котенка. Это котенок. Коробка не котенок. –

ответ

0

Ваша проблема здесь:

Hand hand = frame.Hands; 

frame.Hands представляет собой сборник Hand, но вы пытаетесь присвоить это значение одного экземпляра Hand. Таким образом, вы должны это делать:

List<Hand> hands = frame.Hands; 
+0

Спасибо, сэр. Так и мой код может определить, правильно ли/рука? –

+0

На самом деле, ваш код выглядит отлично даже без этой коллекции рук. Не уверен, почему вы назначаете эту переменную вообще. – ThePerplexedOne

+0

Основание на том, что я понимаю, цикл for - для подсчета пальцев. поэтому, если рука оставлена, будет debug.log (обнаружена Левая рука); –

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

  • Нет связанных вопросов^_^