Страница 1 из 1

InvalidCastException: Cannot cast from source type to destin

СообщениеДобавлено: 26 авг 2011, 15:25
BlackMamba
получаю ошибку
InvalidCastException: Cannot cast from source type to destination type.
и не могу понять - почему?
код такой:
Синтаксис:
Используется javascript
//itemList,  PlayerParams - другие скрипты
class ArmorAnim {
        var armor : GameObject;
        var bones : Transform[];
        function GetBones() {
                bones = armor.GetComponentsInChildren(Transform);
        }
}

var Armors : ArmorAnim[] = new ArmorAnim[4];

function Update() {
        if(inventory.updateArmorMeshes == true) {
                ReArmor(itemList.ArmorList, PlayerParams.armorUpper, 0);
        }
}

function ReArmor(armor : Armor[], paramsArmor : String, armorIndex : int) {
        for(i = 0; i < armor.Length; i++) {
                if(armor[i].name == paramsArmor) {
                        Armors[armorIndex].armor = Instantiate(armor[i].skinnedMeshObj);
                        Armors[armorIndex].armor.transform.parent = GameObject.Find("Player/Armors").transform;
                        Armors[armorIndex].armor.transform.localPosition =
                        Armors[armorIndex].armor.transform.localEulerAngles = Vector3.zero;
                        Armors[armorIndex].GetBones();
                }
        }
}


указывает на строчку Armors[armorIndex].GetBones(); и в последствии на bones = armor.GetComponentsInChildren(Transform);

Re: InvalidCastException: Cannot cast from source type to destin

СообщениеДобавлено: 26 авг 2011, 16:01
waruiyume
GetComponentsInChildren- возвращает Component[], а не Transform[] (в 3.3 в жабе, через as массивы не приводились (полная Ж), как сейчас не знаю)

Re: InvalidCastException: Cannot cast from source type to destin

СообщениеДобавлено: 26 авг 2011, 17:29
BlackMamba
спасибо, теперь все ясно