Четверг, 28 Марта 2024, 23:25

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » error CS0029. Как так??? (Unity не понимает, что это int?)
error CS0029. Как так???
nanaminerДата: Вторник, 16 Мая 2017, 12:50 | Сообщение # 1
частый гость
Сейчас нет на сайте
Здравствуйте!
У меня есть ассет PuppetMaster, я хочу обратится к одному из скриптов, но Unity не понимает, тип переменной из скрипта к которому я хочу обратиться и пишет мне:
error CS0029: Cannot implicitly convert type `int' to `RootMotion.Dynamics.Weight' crazy т.е. Unity не понимает, что Puppet.GetComponent<BehaviourPuppet> ().collisionResistance это int. Как объяснить это Unity?
Помогите пожалуйста, Зарание спасибо!
Вот мой код:
Код
using UnityEngine;
using System.Collections;
using RootMotion.Dynamics;
using RootMotion;
using RootMotion.Demos;

public class Puppet : MonoBehaviour {

public GameObject Puppet;

void Start(){
Puppet.GetComponent<BehaviourPuppet> ().collisionResistance = 0;
}
}
VostruginДата: Вторник, 16 Мая 2017, 14:01 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Судя по всему это Вы не понимаете, а не Unity. Поле collisionResistance имеет тип Weight, о чём и говорит ошибка.



EchoITДата: Вторник, 16 Мая 2017, 18:23 | Сообщение # 3
старожил
Сейчас нет на сайте
nanaminer, ты сейчас берёшь и удаляешь все ассеты, затем выкачиваешь справку по C# и Unity Scripting API на комп, а затем на месяц себе отрубаешь интернет, и работаешь, используя только эту информацию. Исключительно только после этого можешь продолжать заниматься геймдевом.

Долгожданный анонсик: State of War
nanaminerДата: Среда, 17 Мая 2017, 14:09 | Сообщение # 4
частый гость
Сейчас нет на сайте
Здравствуйте, спасибо за отклик.

Небольшая выдержка из скрипта к которому я обращаюсь:

Код
[TooltipAttribute("Smaller value means more unpinning from collisions (multiplier).")]
   /// <summary>
   /// Smaller value means more unpinning from collisions (multiplier).
   /// </summary>
   public float collisionResistance;

Т.е. эта переменная float.
(как float я тоже пытался обращаться - та-же ошибка)
Как так? %)
Storm54Дата: Четверг, 18 Мая 2017, 09:56 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Вроде ошибка совсем в другом месте. Например, класса RootMotion я не вижу
nanaminerДата: Пятница, 19 Мая 2017, 18:26 | Сообщение # 6
частый гость
Сейчас нет на сайте
Здравствуйте.
Цитата Storm54 ()
класса RootMotion я не вижу

Не видите где? В скрипте с объявлением переменной только выдержка, весь скрипт огромный, но там есть этот класс.
seamanДата: Пятница, 19 Мая 2017, 22:55 | Сообщение # 7
старожил
Сейчас нет на сайте
Может Вы все же ошиблись строкой где выдает ошибку? Приведите сообщение об ошибке полностью, чтоб была указана строка и кусок кода с этой строкой.
Может ошибка рядом? Например - зачем Вам включать все эти скрипты?
Код
using RootMotion.Dynamics;
using RootMotion;
using RootMotion.Demos;

Может достаточно одного RootMotion? Может у них (хотя конечно маловероятно) повторяются определения в разных namespace?
nanaminerДата: Понедельник, 22 Мая 2017, 14:50 | Сообщение # 8
частый гость
Сейчас нет на сайте
Здравствуйте!
Спасибо всем, кто помогал, сегодня нашёл решение:
Код
Puppet.GetComponent<BehaviourPuppet> ().collisionResistance.floatValue = 0;

нужно было добавить, что изменяю именно floatValue ^_^ .
seamanДата: Понедельник, 22 Мая 2017, 18:08 | Сообщение # 9
старожил
Сейчас нет на сайте
Тогда от чего же вы писали:
Цитата
public float collisionResistance;
Т.е. эта переменная float.

Вводили нас в заблуждение?
Вам с самого начала говорили, что "Поле collisionResistance имеет тип Weight"


Сообщение отредактировал seaman - Понедельник, 22 Мая 2017, 18:08
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » error CS0029. Как так??? (Unity не понимает, что это int?)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг