ПредишенСледващото

Добър ден на всички и ви благодаря за спирането от!

И ако ние погледна MB любителски ми отговори на въпроса (и)?)

И още нещо не е ясно, кажи ми как да се направи така, че би било едно лице е променено на разстоянието в зависимост от състояние на друг, да речем една топка променя цвета си, както и първия.
Както и в сценария, можете да получите на първия ден от втория сценария и да зададете същите параметри за второто?

Надявам се, че не съм много, за да помоли за време)

1. Не е глобални скриптове, например, ако искате да се създаде система за точкуване или меню, този скрипт трябва да виси на някои от обектите в сцената.
2. За да видите състоянието на друг обект трябва да го намерим. И след това да видите неговите свойства.

Усложни - просто да се опрости - трудно.

OlegNick написал (а): 1. Не е глобални скриптове, например, ако искате да се създаде система за точкуване или меню, този скрипт трябва да виси на някои от обектите в сцената.
2. За да видите състоянието на друг обект трябва да го намерим. И след това да видите неговите свойства.

1. False. Няма къде да се мотае нещо. Точно по същия сценарий двигателят не наследява от MonoBehaviour и от основата, което от своя страна успокои себе си може да е в папката.

Първата сфера реагира на натискане на бутона.

Скрит текст: шоу

използване UnityEngine;
използване System.Collections;

обществен Sphere1ChangerColor клас. MonoBehaviour


обществен цвят Vector4 = нов Vector4 # 40, 0, 0, 0, 1 # 41 ;;
частен GameObject Sp1;

// Използвайте за инициализация
нищожен Старт # 40; # 41; Sp1 = GameObject.Find # 40; "Sphere1" # 41 ;;

// Актуализация се нарича веднъж на рама
нищожен Актуализация # 40; # 41; Vector4 newColor = цвят;

ако # 40; Input.GetKey # 40; KeyCode.Q # 41; # 41;
newColor + = нов Vector4 # 40; 0.1f, 0, 0. 0 # 41 ;;


ако # 40; Input.GetKey # 40; KeyCode.A # 41; # 41;
newColor - = нов Vector4 # 40; 0.1f, 0, 0. 0 # 41 ;;

ако # 40; Input.GetKey # 40; KeyCode.W # 41; # 41;
newColor + = нов Vector4 # 40; 0, 0.1f, 0. 0 # 41 ;;


ако # 40; Input.GetKey # 40; KeyCode.S # 41; # 41;
newColor - = нов Vector4 # 40; 0, 0.1f, 0. 0 # 41 ;;

ако # 40; Input.GetKey # 40; KeyCode.E # 41; # 41;
newColor + = нов Vector4 # 40, 0, 0, 0.1f. 0 # 41 ;;


ако # 40; Input.GetKey # 40; KeyCode.D # 41; # 41;
newColor - = нов Vector4 # 40, 0, 0, 0.1f. 0 # 41 ;;


//newColor.Normalize#40;#41 ;;
цвят = newColor;


Втората сфера просто копира първия цвят.

Скрит текст: шоу

използване UnityEngine;
използване System.Collections;

обществен Sphere2ColorChanger клас. MonoBehaviour

частен GameObject Sp1;
частен GameObject Sp2;
// Използвайте за инициализация
нищожен Старт # 40; # 41; Sp1 = GameObject.Find # 40; "Sphere1" # 41 ;;
Sp2 = GameObject.Find # 40; "Sphere2" # 41 ;;

// Актуализация се нарича веднъж на рама
нищожен Актуализация # 40; # 41;

Vector4 Sp1Color = Sp1.renderer.material.color;
Sp2.renderer.material.color = Sp1Color;

Сега дори се опита да направи глобален сценарий от базов клас.

Пише просто никъде прикрепен скрипт, който на няколко области глобален мащаб

Скрит текст: шоу

използване UnityEngine;
използване System.Collections;

обществени клас Global. MonoBehaviour

обществен GameObject Sp1;
обществен GameObject Sp2;


// Използвайте за инициализация
нищожен Старт # 40; # 41; Sp1 = GameObject.Find # 40; "Sphere1" # 41 ;;
Sp2 = GameObject.Find # 40; "Sphere2" # 41 ;;

Sp1.transform.localScale = нов Vector3 # 40; 1, 2, 1 # 41 ;;
Sp2.transform.localScale = нов Vector3 # 40; 1, 3, 1 # 41 ;;

// Актуализация се нарича веднъж на рама
нищожен Актуализация # 40; # 41;

Но той просто не работи, докато аз трябваше биберон не са обвързани, така че, като цяло е ясно, че там скърца само по себе си не може да съществува изобщо.

Благодаря ти, аз забелязах, че прекалено. Премахнати маркери. МБ някак си по различен начин, за да форматирате код? А обикновения текст не е удобно да се разбере логиката на кода, без да е оригиналното форматиране (

Аз съм нещо като понг направи още по-лесно, по-прост куб работи се отразява от стените. Четири стени на куба вътре пода.
Въпросът в този контекст, какви методи се използват за определяне на сблъсък?
Правя сценарий, изготвен, но нямаше нищо не се случва, или по-скоро тя преминава през дясната стена.

Скрит текст: шоу

използване UnityEngine;
използване System.Collections;

обществени клас Pong. MonoBehaviour

обществен Vector3 позиция = нов Vector3 # 40; # 41 0,1,0 ;;
обществен скорост Vector3 = нов Vector3 # 40; # 41 100,0,100 ;;
обществен GameObject pongObj;

частни GameObject [] стени = нов GameObject [4];


// Използвайте за инициализация
нищожен Старт # 40; # 41; pongObj = GameObject.Find # 40; "понг" # 41 ;;
Стени [0] = GameObject.Find # 40; "Cube1" # 41 ;;
Стени [1] = GameObject.Find # 40; "Cube2" # 41 ;;
Стени [2] = GameObject.Find # 40; "Cube3" # 41 ;;
Стени [3] = GameObject.Find # 40; "Cube4" # 41 ;;
>

анулира OnCollisionEnter # 40; Сблъсък друга # 41;
// Vector3 otherCenter = other.transform.localPosition;
// Vector3 pongCenter = pongObj.transform.localPosition;

GameObject OBJ = other.gameObject;

ако # 40; obj.tag == "WallsTag" # 41;
скорост = -velocity;
Debug.Log # 40; "! Има сблъскат със стени" # 41 ;;
се върне;
>

Debug.Log # 40; "! Има сблъска с нещо друго, след това стените" # 41 ;;
>

// Актуализация се нарича веднъж на рама
нищожен Актуализация # 40; # 41; позиция + = скорост * Time.deltaTime;
pongObj.transform.localPosition = позиция;
>
>

Подкрепете проекта - споделете линка, благодаря!