Вопрос-[ответ] по Unity
|
|
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
noTformaT | Дата: Четверг, 05 Января 2012, 17:28 | Сообщение # 1401 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (ReSeR) JavaScript или C#? что лучше для unity , что полегче для меня? и тот и тот практически одинаковый... от использования жс ты ничего не потеряешь, от использования шарпа - тоже. Просто два одинаковых по возможностям яп... Выбирать JavaScript или C - это просто дело выбора, кому-то дается жс, а кому-то шарп... говорят жс легче, хз, возможностей и там и там - одинаково
@noTformaT
|
|
| |
E][pert | Дата: Четверг, 05 Января 2012, 18:12 | Сообщение # 1402 |
C#-XNA-Unity
Сейчас нет на сайте
| Подскажите как отследить нажатие кнопки мышки по объекту?
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
noTformaT | Дата: Четверг, 05 Января 2012, 18:15 | Сообщение # 1403 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (E||pert) Подскажите как отследить нажатие кнопки мышки по объекту? ну объекта есть collider? если есть, то http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.OnMouseUp.html
@noTformaT
|
|
| |
E][pert | Дата: Пятница, 06 Января 2012, 18:27 | Сообщение # 1404 |
C#-XNA-Unity
Сейчас нет на сайте
| Quote (noTformaT) ну объекта есть collider? если есть, то http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.OnMouseUp.html Спасибо. Что то я очень затупил Добавлено (06.01.2012, 18:27) --------------------------------------------- Как мне изменить значение переменных одного скрипта из другого?
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
sk0rpi0n | Дата: Пятница, 06 Января 2012, 18:34 | Сообщение # 1405 |
Tiberium
Сейчас нет на сайте
| Quote Как мне изменить значение переменных одного скрипта из другого? Используй GetComponent.
Adventures of the Purple Ball - готов. Wanderer - готов.
|
|
| |
E][pert | Дата: Пятница, 06 Января 2012, 18:38 | Сообщение # 1406 |
C#-XNA-Unity
Сейчас нет на сайте
| Quote (sk0rpi0n) Используй GetComponent. Пытаюсь. Но у меня сплошные ошибки. Мне бы пример хотя бы увидеть.
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
sk0rpi0n | Дата: Пятница, 06 Января 2012, 18:44 | Сообщение # 1407 |
Tiberium
Сейчас нет на сайте
| Code function Update () { // To access public variables and functions // in another script attached to the same game object. // (ScriptName is the name of the javascript file) var other : ScriptName; other = gameObject.GetComponent("ScriptName"); // Call the function DoSomething on the script other.DoSomething (); // set another variable in the other script instance other.someVariable = 5; } Из справки. Это со скриптом. Code function Update () { var other : ScriptName; other = gameObject.GetComponent("ScriptName"); other.someVariable = 5; } Вот так без комментов.(приятнее на вид))
Adventures of the Purple Ball - готов. Wanderer - готов.
Сообщение отредактировал sk0rpi0n - Пятница, 06 Января 2012, 18:45 |
|
| |
E][pert | Дата: Пятница, 06 Января 2012, 19:03 | Сообщение # 1408 |
C#-XNA-Unity
Сейчас нет на сайте
| Пробывал это всё. Вроде бы всё правильно, а ошибка: Quote NullReferenceException: Object reference not set to an instance of an object Material.Update () (at Assets/Script/Material.cs:43)
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
seaman | Дата: Пятница, 06 Января 2012, 20:28 | Сообщение # 1409 |
старожил
Сейчас нет на сайте
| Что за дурацкие тайны? Вы скрипт то выложите. С чего мы должны гадать что у Вас там за ошибка?
|
|
| |
E][pert | Дата: Пятница, 06 Января 2012, 21:07 | Сообщение # 1410 |
C#-XNA-Unity
Сейчас нет на сайте
| Code using UnityEngine; using System.Collections;
public class Material : MonoBehaviour { public GameObject go; public GameObject player; bool stone=false; bool paper=false; bool planar=true; public Texture[] texture; ThirdPersonController ControlScript; // Use this for initialization void Start () { ControlScript = player.gameObject.GetComponent<ThirdPersonController>(); } // Update is called once per frame void Update () { if (Input .GetKeyDown (KeyCode .Z )) { stone = true; paper = false; planar= false; go.renderer.material.mainTexture = texture[0]; } if (Input .GetKeyDown (KeyCode .X )) { stone = false; paper = true; planar= false; go.renderer.material.mainTexture = texture[1]; } if (Input .GetKeyDown (KeyCode .C )) { stone = false; paper = false; planar = true; go.renderer.material.mainTexture = texture[2]; } if (stone) { ControlScript.gravity = 50.0f; } } }
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
Povstalez | Дата: Пятница, 06 Января 2012, 21:11 | Сообщение # 1411 |
постоянный участник
Сейчас нет на сайте
| Quote (E||pert) NullReferenceException: Object reference not set to an instance of an object это ошибка того, что на объекте, который вы ищите, нету этого скрипта.......
|
|
| |
E][pert | Дата: Суббота, 07 Января 2012, 18:42 | Сообщение # 1412 |
C#-XNA-Unity
Сейчас нет на сайте
| Povstalez, скрипт есть. Возможно я просто неправильно даю на него ссылку. Добавлено (07.01.2012, 18:42) --------------------------------------------- ап тему!
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
noTformaT | Дата: Суббота, 07 Января 2012, 18:51 | Сообщение # 1413 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (E||pert) Как мне изменить значение переменных одного скрипта из другого? Один из принципов "ооп" - инкапсуляция, говорит что один объект не должен знать из чего состоит второй... Но, можно использовать гетеры и сеттеры...
ммм, если скрипты на одинаковых языках, то это просто... используй геткомпонент... а дальше вызывай нужные методы...
пример Скрипт под названием AttackerScript висит на геймобджекте atacker... у этого скрипта/класса есть метод SetLife(var new_life: int), который устанавливает количество жизней... тогда...
var aScript:AttackerScript = atacker.GetComponent(AttackerScript) as AttackerScript; aScript.SetLife(10);
@noTformaT
|
|
| |
E][pert | Дата: Суббота, 07 Января 2012, 19:07 | Сообщение # 1414 |
C#-XNA-Unity
Сейчас нет на сайте
| Я так и думал что проблема в том что они на разных языках. Что мне в этом случае делать?
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
seaman | Дата: Воскресенье, 08 Января 2012, 01:18 | Сообщение # 1415 |
старожил
Сейчас нет на сайте
| 1. Material - не называй скрипты так. В Юнити уже есть скрипт с таким названием. Тем самым ты "скрыл" скрипт Юнити и уже не можешь работать с материалами. Любое обращение к материалу будет вызывать ошибку. Если уж так приспичило - делай это в другом пространстве имен. 2. Вы уверены, что выложили скрипт соответствующий ошибке. Ошибка написана в 43 строке. Строки вокруг 43-й: Там не может быть такой ошибки.
|
|
| |
noTformaT | Дата: Воскресенье, 08 Января 2012, 01:30 | Сообщение # 1416 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (E||pert) Я так и думал что проблема в том что они на разных языках. Что мне в этом случае делать? ничего... в юнити такая фигня, что шарп код компилируется первым, а жс код вторым, тоесть шарповый класс ничего не знает о жс классах, а жс классы о шарп классах... Это все описано тут, все причины и как это может выйти боком....
Но, решение есть... GameObject.SendMessage... Но, самое простое - никогда не мешать 2 яп в одном проекте с Сенд Мессенжом еще придется помучатся...
@noTformaT
|
|
| |
E][pert | Дата: Воскресенье, 08 Января 2012, 12:06 | Сообщение # 1417 |
C#-XNA-Unity
Сейчас нет на сайте
| Quote (noTformaT) Но, самое простое - никогда не мешать 2 яп в одном проекте К сожалению жс скрипты уже не переписать, а продолжать на них писать тоже не вариант. И вот опять у меня ошибочка: Quote SendMessage gravity has no receiver! UnityEngine.GameObject:SendMessage(String, Object) Material:Update() (at Assets/Script/Material.cs:43)
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |
SnakeR | Дата: Воскресенье, 08 Января 2012, 12:11 | Сообщение # 1418 |
постоянный участник
Сейчас нет на сайте
| Quote (E||pert) К сожалению жс скрипты уже не переписать А че их там переписывать? Если желание есть то все спокойно перепишешь.
Quote (E||pert) SendMessage gravity has no receiver! Тут же написано что функция SendMessage не имеет получателя.
Unity3D Developer Ваш лучший помощник при разработке в Unity3D
|
|
| |
Scvad | Дата: Воскресенье, 08 Января 2012, 12:22 | Сообщение # 1419 |
участник
Сейчас нет на сайте
| У меня usbмодем и я когда на офф.сайт захожу у меня бабки снимают, есть какое нибудь зеркало?
|
|
| |
E][pert | Дата: Воскресенье, 08 Января 2012, 12:49 | Сообщение # 1420 |
C#-XNA-Unity
Сейчас нет на сайте
| Quote (SnakeR) А че их там переписывать? Если желание есть то все спокойно перепишешь. Жс скрипты между собой связанные допустив одну ошибку она повлечет за собою множество. Quote (SnakeR) Тут же написано что функция SendMessage не имеет получателя. Code player.gameObject.SendMessage("gravity", 50.0f); переменная gravity есть в жс скрипте.
Помогаю по мере возможностей, учусь по мере сил. ©E}{pert Tower defence in processing... For Web/iOS/Android.
|
|
| |