Воскресенье, 21 Октября 2018, 22:52

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Исполнение void(a) в другом скрипте. (C#)
Исполнение void(a) в другом скрипте.
NecrolichДата: Вторник, 01 Сентября 2015, 22:34 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Всем привет, как использовать void одного скрипта в другом скрипте?Т.е у нас есть два скрипта и из одного нужно подключить войд другого.
Извините, если я не правильно выражаюсь и исправьте.
MANMANAДата: Среда, 02 Сентября 2015, 09:54 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
возможно, я правильно понял:
ищи вызов метода из другого скрипта
вызов функции из другого скрипта

если в скрипте MyScript хочешь вызывать метод, объявленный как void MyFunction() {...........}

то во втором скрипте (из которого вызываешь функцию)

variableForStoringMyScript MyScript;// В инспекторе тащишь сюда скрипт MyScript

public class MySecondScript : MonoBehaviour
{
void Update ()
{
variableForStoringMyScript.MyFunction();//это вызов функции первого скрипта из второго скрипта
}
}


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
KunkaДата: Среда, 02 Сентября 2015, 10:04 | Сообщение # 3
частый гость
Сейчас нет на сайте
Цитата MANMANA ()

variableForStoringMyScript MyScript;// В инспекторе тащишь сюда скрипт MyScript

сначала название, потом тип или класс, это где прокатывает?


хочешь сделать убийцу WOW, GTA, CRysis, AC - используй FishFace

Сообщение отредактировал Kunka - Среда, 02 Сентября 2015, 10:05
MANMANAДата: Среда, 02 Сентября 2015, 11:30 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
да да да

public class MySecondScript : MonoBehaviour
variableForStoringMyScript MyScript;// В инспекторе тащишь сюда скрипт MyScript
{
void Update ()
{
variableForStoringMyScript.MyFunction();//это вызов функции первого скрипта из второго скрипта
}
}


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
KunkaДата: Среда, 02 Сентября 2015, 11:35 | Сообщение # 5
частый гость
Сейчас нет на сайте
Цитата MANMANA ()

variableForStoringMyScript MyScript;// В инспекторе тащишь сюда скрипт MyScript

разве правильно не

Код
MyScript variableForStoringMyScript;// В инспекторе тащишь сюда скрипт MyScrip

?


хочешь сделать убийцу WOW, GTA, CRysis, AC - используй FishFace
MANMANAДата: Среда, 02 Сентября 2015, 11:50 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
угу.
я там еще на один пост ответил.
проверь, а?

Добавлено (02 сентября 2015, 11:50)
---------------------------------------------
выложил бы уже исправленный скипт с было бы всем хорошо smile ага


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею


Сообщение отредактировал MANMANA - Среда, 02 Сентября 2015, 11:44
NecrolichДата: Среда, 02 Сентября 2015, 14:09 | Сообщение # 7
почетный гость
Сейчас нет на сайте
MANMANA, а можно как нибудь без инспектора?(Например через GetComponent?)
pixeyeДата: Среда, 02 Сентября 2015, 14:16 | Сообщение # 8
Red Winter Software
Сейчас нет на сайте
Цитата Necrolich ()
MANMANA, а можно как нибудь без инспектора?(Например через GetComponent?)


Небезопасно. gameObject.GetComponent<MyScript>().method();

Цитата Necrolich ()
и из одного нужно подключить войд другого.


Это делегаты и эвенты.

System.Action MyAction;

void Awake(){
MyAction += NewMethod;
}

void Start(){
MyAction.Invoke();

void NewMethod(){
Debug.Log("DA");
}


Battlecruiser - одна из моих игр
ACTORS - мой фреймворк на Unity3d

NecrolichДата: Среда, 02 Сентября 2015, 15:07 | Сообщение # 9
почетный гость
Сейчас нет на сайте
pixeye, из префаба просто не видно ничего
И про делегаты и эвенты я не понял :(, а GetComponent получается null


Сообщение отредактировал Necrolich - Среда, 02 Сентября 2015, 15:08
pixeyeДата: Среда, 02 Сентября 2015, 16:47 | Сообщение # 10
Red Winter Software
Сейчас нет на сайте
https://unity3d.com/ru/learn/tutorials/modules/intermediate/scripting/delegates

Battlecruiser - одна из моих игр
ACTORS - мой фреймворк на Unity3d

seamanДата: Среда, 02 Сентября 2015, 17:54 | Сообщение # 11
старожил
Сейчас нет на сайте
Про делегаты и события можно посмотреть тут:
https://www.youtube.com/watch?v=lIAbM2eAMk0
Однако я бы советовал смотреть с самого начала.
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Исполнение void(a) в другом скрипте. (C#)
  • Страница 1 из 1
  • 1
Поиск:

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