Пятница, 29 Марта 2024, 08:28

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » какая то ошибка (какая то ошибка)
какая то ошибка
PaRtIzAn_MaXsДата: Воскресенье, 08 Декабря 2013, 03:24 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Cannot convert "int" to "unityEngine.Vector3"
Вот скрипт
Код
var grabPower = 10.0;
var throwPower = 50;
var hit : RaycastHit;
var RayDistance : float = 3.0;
private var Grab : boolean = false;
private var Throw : boolean = false;
var offset : Transform;

function Update () {
if(Input.GetMouseButtonDown(1)){

Physics.Raycast(transform.position, transform.forward, hit, RayDistance);
if(hit.rigidbody);
Grab = true;
}
}
if(Input.GetMouseButtonDown(0)){
if(Grab){
if(hit.rigidbody);
hit.rigidbody.velocity = (offset.position - (hit.transform.position + hit.rigidbody.centerOfMass))* grabPower;
}
}
if(Throw){
if(hit.rigidbody){
hit.rigidbody.velocity = transform.forward = throwPower;
Throw = false;
}
}


C#-Unity3D
JHawkДата: Воскресенье, 08 Декабря 2013, 08:39 | Сообщение # 2
めゃくちゃちゃ
Сейчас нет на сайте
ОМГ........... ты INTEGER приравниваешь к VECTOR3.
Ищи, в какой строчке ошибка и исправляй сам, ибо нет желания копаться в твоем коде.

Добавлено (08.12.2013, 08:39)
---------------------------------------------
З.Ы, найти ошибку можно двойным кликом по ней в консольке.

robertonoДата: Воскресенье, 08 Декабря 2013, 12:15 | Сообщение # 3
Чокнутый Кот
Сейчас нет на сайте
PaRtIzAn_MaXs,
Я не знаю как учишь написание скриптов ты, но я :
1) Больше не беру чужие коды
2) Пишу только свой код, может большой и не оптимизированный но свой

И тебе так же советую)
White9Дата: Воскресенье, 08 Декабря 2013, 12:35 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
Код
hit.rigidbody.velocity = transform.forward = throwPower;

Вот здесь ошибка. Измени тип throwPower на Vector3 и задай именно как вектор. И мне кажется, что из-за такого присваивания тоже будет ошибка


Сообщение отредактировал White9 - Воскресенье, 08 Декабря 2013, 12:35
robertonoДата: Воскресенье, 08 Декабря 2013, 12:42 | Сообщение # 5
Чокнутый Кот
Сейчас нет на сайте
Цитата White9 ()
И мне кажется, что из-за такого присваивания тоже будет ошибка

конечно)
seamanДата: Воскресенье, 08 Декабря 2013, 12:58 | Сообщение # 6
старожил
Сейчас нет на сайте
PaRtIzAn_MaXs, хочешь совет?
Учись сам находить ошибки. Иначе постоянно будешь просить на форуме найти их и тем самым ухудшать и без того не очень хорошее мнение о себе.
Как искать?
1. Внимательно читать что пишет Юнити. В консоли обычно пишется достаточно для того, чтобы определить где ошибка и в чем она заключается. Например:
Цитата
Assets/Move.cs(21,30): error CS0029: Cannot implicitly convert type `float' to `UnityEngine.Vector3'

Что мы тут видим. Имя скрипта, в котором ошибка (Move.cs), строка и столбец в котором ошибка (21,30) и собственно текст ошибки.
2. Смотрим скрипт и место в нем где выдало ошибку.
Код
transform.position = test = t;

3. Переводим сообщение - не может косвенно конвертировать `float' в `UnityEngine.Vector3
4. Пытаемся сопоставить сообщение об ошибке и код. Ищем где тут float, где тут Vector3. Первое - это t, второе test и position.
5. Понимаем, что НЕЛЬЗЯ присвоить переменную типа float вектору.
6. Думаем - а что же мы тут вообще хотели сделать?
БИНГО! Мы хотели просто в позицию записать вектор УМНОЖЕННЫЙ на константу!
Пишем правильный код
У Вас это будет... Подумайте сами.

Добавлено (08.12.2013, 12:58)
---------------------------------------------
Цитата
И мне кажется, что из-за такого присваивания тоже будет ошибка

Цитата
конечно)

Не совсем понял, что Вы имеет в виду, но можно писать два равенства подряд, типа:
Код
Vector3 throwPower = Vector3.zero;
hit.rigidbody.velocity = transform.forward = throwPower;

Ошибки быть не должно.


Сообщение отредактировал seaman - Воскресенье, 08 Декабря 2013, 12:58
robertonoДата: Воскресенье, 08 Декабря 2013, 13:05 | Сообщение # 7
Чокнутый Кот
Сейчас нет на сайте
Цитата seaman ()
о можно писать два равенства подряд, типа:

Цитата seaman ()
hit.rigidbody.velocity = transform.forward = throwPower;

Серьезно? blink
seamanДата: Воскресенье, 08 Декабря 2013, 13:08 | Сообщение # 8
старожил
Сейчас нет на сайте
Попробуйте. В шарпе точно работает.
PaRtIzAn_MaXsДата: Воскресенье, 08 Декабря 2013, 13:16 | Сообщение # 9
почетный гость
Сейчас нет на сайте
Цитата robertono ()
PaRtIzAn_MaXs,
Я не знаю как учишь написание скриптов ты, но я :
1) Больше не беру чужие коды
2) Пишу только свой код, может большой и не оптимизированный но свой

И тебе так же советую)

У меня не получается учить.я и переписываю и учу и всё равно ничего не выходит


C#-Unity3D
JHawkДата: Воскресенье, 08 Декабря 2013, 13:19 | Сообщение # 10
めゃくちゃちゃ
Сейчас нет на сайте
Потому что ты ТУПОЙ школота!!!!

Добавлено (08.12.2013, 13:19)
---------------------------------------------
Только школота начинает вайнить на форуме, если у него что то не получается!

PaRtIzAn_MaXsДата: Воскресенье, 08 Декабря 2013, 13:20 | Сообщение # 11
почетный гость
Сейчас нет на сайте
Цитата JHawk ()
Потому что ты ТУПОЙ школота!!!!
Добавлено (08.12.2013, 13:19)
---------------------------------------------
Только школота начинает вайнить на форуме, если у него что то не получается!

И ты был школотой.То что я в школе ничего не значит


C#-Unity3D
robertonoДата: Воскресенье, 08 Декабря 2013, 13:45 | Сообщение # 12
Чокнутый Кот
Сейчас нет на сайте
Цитата JHawk ()
школота

Цитата PaRtIzAn_MaXs ()
в школе

Цитата PaRtIzAn_MaXs ()
И ты был школотой

Добавлено (08.12.2013, 13:45)
---------------------------------------------

Цитата PaRtIzAn_MaXs ()
У меня не получается учить.я и переписываю и учу и всё равно ничего не выходит

Попробуй сделать как я : забить на гейм дев на 1 год, обдумать свои поступки и потом в него вернутся и лучше не возвращятся...


Сообщение отредактировал robertono - Воскресенье, 08 Декабря 2013, 13:44
JHawkДата: Воскресенье, 08 Декабря 2013, 14:15 | Сообщение # 13
めゃくちゃちゃ
Сейчас нет на сайте
robertono, КОКОКОКОКОМБО!!!!!!!!
Короче по теме.
PaRtIzAn_MaXs, иди крестиком вышивай, возвращайся в геймдев через n-дцать лет.
White9Дата: Воскресенье, 08 Декабря 2013, 14:17 | Сообщение # 14
заслуженный участник
Сейчас нет на сайте
Цитата seaman ()
Попробуйте. В шарпе точно работает.

Спасибо, просто ни разу так не делал )
AdomДата: Воскресенье, 08 Декабря 2013, 14:39 | Сообщение # 15
Печенька!
Сейчас нет на сайте
PaRtIzAn_MaXs, Мне 13 лет но ведь у меня не плохо получается писать свои скрипты а почему у тебя то не получается ?
seamanДата: Воскресенье, 08 Декабря 2013, 14:44 | Сообщение # 16
старожил
Сейчас нет на сайте
Потому что неправильно учится. Тут или нужно иметь способности приличные и тогда можно учится как угодно, или нужно учиться последовательно.
Забыть на какое то время о Юнити. Взять книгу по программированию для новичков, посмотреть видеоуроки по шарпу. И желательно не просто просмотреть, а выполнить все задания не подглядывая в ответы из книги.
Уже потом вернуться к Юнити.


Сообщение отредактировал seaman - Воскресенье, 08 Декабря 2013, 14:44
White9Дата: Воскресенье, 08 Декабря 2013, 14:50 | Сообщение # 17
заслуженный участник
Сейчас нет на сайте
seaman, а можешь что-нибудь посоветовать? В магазине видел только книги с самыми-самыми азами или без упражнений.
Просто в универе мы программирование проходили довольно поверхностно (не затрагивали работу с классами, наследованием, паттернами и прочим). Точнее в теории что-то было, а на практике не применяли


Сообщение отредактировал White9 - Воскресенье, 08 Декабря 2013, 14:51
AdomДата: Воскресенье, 08 Декабря 2013, 14:51 | Сообщение # 18
Печенька!
Сейчас нет на сайте
seaman, Угусь а я в первое время копался в Unity что да как потом начал смотреть уроки и потом потихоньку начал писать мелкие скрипты а потом больше и больше ))
JHawkДата: Воскресенье, 08 Декабря 2013, 15:47 | Сообщение # 19
めゃくちゃちゃ
Сейчас нет на сайте
seaman, что бы уметь писать коды, надо логически мыслить. Изходя из этого мы имеем, что что бы быть хорошим программистом надо быть неплохим математиком, а значит что либо PaRtIzAn_MaXs слишком мал для математики (ну до 12 лет точно!), либо его успеваемость в школе крайне мала.

Добавлено (08.12.2013, 15:47)
---------------------------------------------
Лично я в математике (а следовательно и всех четких науках) силен и благодаря умению хорошо соображать смог научится писать коды еще будучи школотой.

PaRtIzAn_MaXsДата: Воскресенье, 08 Декабря 2013, 18:50 | Сообщение # 20
почетный гость
Сейчас нет на сайте
Цитата JHawk ()
Лично я в математике (а следовательно и всех четких науках) силен и благодаря умению хорошо соображать смог научится писать коды еще будучи школотой.

У меня по математике 7


C#-Unity3D
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » какая то ошибка (какая то ошибка)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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