Unity C# переменные
|
|
Kano-Tanaka | Дата: Понедельник, 21 Апреля 2014, 16:43 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Помогите, как обратиться из скрипта на префабе к переменной из скрипта, привязанного к игроку? Мне просто надо, чтобы граната отнимала жизни
|
|
| |
beril | Дата: Понедельник, 21 Апреля 2014, 17:05 | Сообщение # 2 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| через GetComponent
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
Kano-Tanaka | Дата: Вторник, 22 Апреля 2014, 15:48 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| спасибо, но тогда другой вопрос: а как в префабе, пока он ещё не заспавнен присвоить переменной типа Transform какой либо объект в сцене(тупо перетащить объект из иерархии в скрипт не получается)
|
|
| |
Aevien | Дата: Вторник, 22 Апреля 2014, 16:08 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| Пока префаб не находится в уровне, ты ничего с ним сделать не сможешь
|
|
| |
Kano-Tanaka | Дата: Вторник, 22 Апреля 2014, 16:40 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Цитата Aevien ( ) Пока префаб не находится в уровне, ты ничего с ним сделать не сможешь тогда каким образом указать гранате, чтобы она отнимала жизни игроку?
|
|
| |
EchoIT | Дата: Вторник, 22 Апреля 2014, 16:53 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| Kano-Tanaka, неправильно ты, дядя Фёдор, геймдев изучаешь. Ты начинаешь с создания гранат в игре, а не с изучения языка программирования.
Чтобы найти игрока на сцене пиши: Код GameObject.Find("Имя префаба игрока")
Долгожданный анонсик: State of War
Сообщение отредактировал EchoIT - Вторник, 22 Апреля 2014, 16:54 |
|
| |
Kano-Tanaka | Дата: Вторник, 22 Апреля 2014, 20:21 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| Цитата EchoIT ( ) GameObject.Find("Имя префаба игрока")
пишу:
objPlayer = GameObject.Find("Graphics"); //objPlayer здесь - переменная типа Transform
кидает ошибку:
Неявное преобразование типа 'UnityEngine.GameObject' в 'UnityEngine.Transform' невозможно (CS0029) (Assembly-CSharp)
потом попробовал так:
objPlayer = transform.Find(objPlayerName); //где objPlayerName - переменная string с именем нужного объекта
Сообщение отредактировал Kano-Tanaka - Вторник, 22 Апреля 2014, 20:30 |
|
| |
Lightsoft | Дата: Вторник, 22 Апреля 2014, 21:15 | Сообщение # 8 |
частый гость
Сейчас нет на сайте
| В ошибке же указано, что Find возвращает тип GameObject, objPlayer должен быть GameObject, а не Transform
Сообщение отредактировал Lightsoft - Вторник, 22 Апреля 2014, 21:19 |
|
| |
Kano-Tanaka | Дата: Вторник, 22 Апреля 2014, 21:33 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| Спасибо и сорри, что тупанул. Как-то даже и не подумал, что GameObject может быть типом переменной.
|
|
| |
DebieCooper | Дата: Среда, 23 Апреля 2014, 02:48 | Сообщение # 10 |
частый гость
Сейчас нет на сайте
| Наверное лучше сразу язык выучить) Хотя бы до лямбда выражений дойти, имхо)
Сообщение отредактировал DebieCooper - Среда, 23 Апреля 2014, 02:49 |
|
| |