Добър ден на всички и ви благодаря за спирането от!
И ако ние погледна 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 = позиция;
>
>