Instantiate vs Cast Missing (CS0266) [Решено]

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Instantiate vs Cast Missing (CS0266) [Решено]

Сообщение Elisar4 21 апр 2011, 23:43

Приветствую,
сразу о:

Стандартный скрипт из Script Reference -
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class Shooting : MonoBehaviour {

    public Rigidbody projectile;

    void Update() {
        if (Input.GetButtonDown("Fire1")) {
            Rigidbody clone;
            clone = Instantiate(projectile, transform.position, transform.rotation);
            clone.velocity = transform.TransformDirection(Vector3.forward * 10);
        }
    }
}
 

Юнити выдает ошибку при компиляции: Assets/Scripts/Shooting.cs(10,13): error CS0266: Cannot implicitly convert type `UnityEngine.Object' to `UnityEngine.Rigidbody'. An explicit conversion exists (are you missing a cast?)

Эта же ошибка выдается если RigidBody заменить на Transform или GameObject.
Аналог этого скрипта на Js компилируется и работает.

Вопрос: как с этим бороться или где я не прав?
Последний раз редактировалось Elisar4 28 апр 2011, 22:19, всего редактировалось 1 раз.
Elisar4
UNец
 
Сообщения: 2
Зарегистрирован: 21 апр 2011, 23:29

Re: Instantiate vs Cast Missing (CS0266)

Сообщение WhiteDevil 21 апр 2011, 23:58

Instantiate возвращает тип объекта Object, когда переменная, которую вы пытаетесь инициализировать - Rigidbody. Ригид - является дальним родственником обжекта, потомком в третьем колене по дядюшкиной линии. Проблема решается просто:

Синтаксис:
Используется javascript
clone =(Rigidbody) Instantiate(projectile, transform.position, transform.rotation);


Есть конечно доля вероятность, что не заработает, но главное, чтоб вы поняли принцип :)
Аватара пользователя
WhiteDevil
UNIверсал
 
Сообщения: 455
Зарегистрирован: 19 дек 2010, 15:55

Re: Instantiate vs Cast Missing (CS0266)

Сообщение Elisar4 22 апр 2011, 00:34

Все работает, спасибо!
Elisar4
UNец
 
Сообщения: 2
Зарегистрирован: 21 апр 2011, 23:29


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 28