forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Требуется помощь по скрипту (основы) (http://forum.boolean.name/showthread.php?t=19899)

JorJi_3!P 07.07.2015 12:47

Требуется помощь по скрипту (основы)
 
Здравствуйте, проблема такая, нужна функция возвращающая несколько переменных, а именно переменную типа Vector2 и типа GameObject, как я понимаю тут, как и в Blitz 3d функция возвращает только чтото одно. Стало быть надо использовать структуру (struct) или городить две функции? Подскажите пожалуйста, где посмотреть такой вариант использования структур, в Blitz'е был такой хороший туториал по type, а тут я в гугл как не забью struct он меня посылает к уже существующим структурам, а не к созданию собственных...

JorJi_3!P 07.07.2015 12:53

Ответ: Требуется помощь по скрипту (основы)
 
Т.е. я вижу готовое решение так: чтобы получить с функции вектор пишем функция(входные данные).вектор, а чтобы получить игровой объект функция(входные данные).игровой объект...

Taugeshtu 07.07.2015 13:11

Ответ: Требуется помощь по скрипту (основы)
 
Ключевое слово "ref" тебе в помощь:

Просветиться.
На тему struct.

Если идти по пути со структурами, не обязательно вызывать функцию дважды (если аргументы одни и те же). Пример:

Код:

var functionResult = MyFunction( argument );
var vectorResult = functionResult.Vector;
var objectResult = functionResult.GO;

...

public FunctionResult MyFunction( int argument ) { return new FunctionResult(); }

...

public struct FunctionResult {
  public Vector3 Vector;
  public GameObject GO;
}


Andvrok 07.07.2015 13:27

Ответ: Требуется помощь по скрипту (основы)
 
Метод(функция) может вернуть больше одной переменной с использованием out.

PHP код:

public void DoSomething(int argumentout Vector2 vectorout GameObject obj
{
vector = new Vector2(argumentargument);
obj = new GameObject();


Потом вызываешь метод, например так:
PHP код:

Vector2 vect;
GameObject go;
DoSomething(1out vectout go); 

Ну или ref вместо out, да.

JorJi_3!P 07.07.2015 13:46

Ответ: Требуется помощь по скрипту (основы)
 
Большое спасибо, тему можно закрыть =)


Часовой пояс GMT +4, время: 20:52.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot