Scripts hogy kitöltse az űrt

Jó napot mindenkinek, és köszönöm, hogy benéztél!

És ha néztük mb amatőr választ a kérdésemre (ka) t?)

És egy másik ponton nem egyértelmű, mondja meg, hogyan kell csinálni, így ez lenne az egyik vállalkozás a távolság függvényében az állandó másik, mondjuk egy labda színe megváltozik, valamint az első.
Mint a script, akkor kap, hogy az első, a második forgatókönyvet, és állítsa be ugyanazokat a paramétereket a második?

Remélem, nem nagy kérés idő)

1. Nincs globális szkriptek, például ha azt szeretné, hogy hozzon létre egy pontozási rendszert, vagy a menüben ezt a forgatókönyvet kell akasztani néhány tárgyak a helyszínen.
2. állapotának megtekintéséhez a többi objektum kell találni. És akkor látni annak tulajdonságait.

Bonyolítja - csak egyszerűsítése - nehéz.

OlegNick írta (a): 1. Nincs globális szkriptek, például ha azt szeretné, hogy hozzon létre egy pontozási rendszert, vagy a menüben ezt a forgatókönyvet kell akasztani néhány tárgyak a helyszínen.
2. állapotának megtekintéséhez a többi objektum kell találni. És akkor látni annak tulajdonságait.

1. Hamis. Van hová akasztani semmit. Ugyanúgy script motor nem örökölnek MonoBehaviour, és a bázis, ami viszont lenyugodni lehet a mappában.

Az első szféra reagál a gombnyomásra.

Rejtett szöveg: mutatása

használatával UnityEngine;
használatával System.Collections;

public class Sphere1ChangerColor. MonoBehaviour


nyilvános Vector4 color = new Vector4 # 40, 0, 0, 0, 1 # 41 ;;
privát GameObject Sp1;

// használja ezt az inicializálás
void indítása # 40; # 41; Sp1 = GameObject.Find # 40; "Sphere1" # 41 ;;

// frissítése hívják egyszer keret
void frissítése # 40; # 41; Vector4 newColor = szín;

ha # 40; Input.GetKey # 40; KeyCode.Q # 41; # 41;
newColor + = új Vector4 # 40; 0,1f, 0, 0 0 # 41 ;;


ha # 40; Input.GetKey # 40; KeyCode.A # 41; # 41;
newColor - = new Vector4 # 40; 0,1f, 0, 0 0 # 41 ;;

ha # 40; Input.GetKey # 40; KeyCode.W # 41; # 41;
newColor + = új Vector4 # 40; 0, 0,1f, 0. 0 # 41 ;;


ha # 40; Input.GetKey # 40; KeyCode.S # 41; # 41;
newColor - = new Vector4 # 40; 0, 0,1f, 0. 0 # 41 ;;

ha # 40; Input.GetKey # 40; KeyCode.E # 41; # 41;
newColor + = új Vector4 # 40, 0, 0, 0,1f. 0 # 41 ;;


ha # 40; Input.GetKey # 40; KeyCode.D # 41; # 41;
newColor - = new Vector4 # 40, 0, 0, 0,1f. 0 # 41 ;;


//newColor.Normalize#40;#41 ;;
color = newColor;


Egy második gömb egyszerűen lemásolja az első színes.

Rejtett szöveg: mutatása

használatával UnityEngine;
használatával System.Collections;

public class Sphere2ColorChanger. MonoBehaviour

privát GameObject Sp1;
privát GameObject Sp2;
// használja ezt az inicializálás
void indítása # 40; # 41; Sp1 = GameObject.Find # 40; "Sphere1" # 41 ;;
Sp2 = GameObject.Find # 40; "Sphere2" # 41 ;;

// frissítése hívják egyszer keret
void frissítése # 40; # 41;

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

Most még próbálni, hogy egy globális forgatókönyvet egy alap osztályt.

Írta egyszerűen sehol mellékelt szkript, hogy több területen globális szinten

Rejtett szöveg: mutatása

használatával UnityEngine;
használatával System.Collections;

public class Global. MonoBehaviour

nyilvános GameObject Sp1;
nyilvános GameObject Sp2;


// használja ezt az inicializálás
void indítása # 40; # 41; Sp1 = GameObject.Find # 40; "Sphere1" # 41 ;;
Sp2 = GameObject.Find # 40; "Sphere2" # 41 ;;

Sp1.transform.localScale = new Vector3 # 40; 1, 2, 1 # 41 ;;
Sp2.transform.localScale = new Vector3 # 40; 1, 3, 1 # 41 ;;

// frissítése hívják egyszer keret
void frissítése # 40; # 41;

De csak nem jött, amíg volt egy cumi nem kötődik, ezért általában egyértelmű, hogy nyikorog önmagában nem létezik.

Köszönöm, azt tapasztaltam, hogy túl. Címkék távolítani. mb valahogy másképp kell formázni kódot? És az egyszerű szöveges nem kényelmes, hogy megértsék a logikája a kód nélkül az eredeti formázást (

Én olyasmi, mint egy pong, hogy még könnyebb, egy egyszerű kocka fut lepattan a falakat. Négy fal a kocka belsejében a padlón.
A kérdés ebben az összefüggésben, hogy milyen módszereket alkalmaznak, hogy meghatározzák az ütközés?
Én egy forgatókönyvet készített, de nem volt semmi nem történik, vagy inkább átmegy a jobb falon.

Rejtett szöveg: mutatása

használatával UnityEngine;
használatával System.Collections;

public class Pong. MonoBehaviour

nyilvános Vector3 pozíció = new Vector3 # 40; # 41 0,1,0 ;;
nyilvános Vector3 sebesség = new Vector3 # 40; # 41 100,0,100 ;;
nyilvános GameObject pongObj;

privát GameObject [] Walls = új GameObject [4];


// használja ezt az inicializálás
void indítása # 40; # 41; pongObj = GameObject.Find # 40; "Pong" # 41 ;;
Walls [0] = GameObject.Find # 40; "Cube1" # 41 ;;
Walls [1] = GameObject.Find # 40; "Cube2" # 41 ;;
Falakkal [2] = GameObject.Find # 40; "Cube3" # 41 ;;
Falakkal [3] = GameObject.Find # 40; "Cube4" # 41 ;;
>

érvényteleníti OnCollisionEnter # 40; Ütközés más # 41;
// Vector3 otherCenter = other.transform.localPosition;
// Vector3 pongCenter = pongObj.transform.localPosition;

GameObject obj = other.gameObject;

ha # 40; obj.tag == "WallsTag" # 41;
sebesség = -velocity;
Debug.log # 40; "! Van ütközzenek falak" # 41 ;;
return;
>

Debug.log # 40; "! Van ütköznek valami más majd a falakat" # 41 ;;
>

// frissítése hívják egyszer keret
void frissítése # 40; # 41; pozíció + = sebesség * Time.deltaTime;
pongObj.transform.localPosition = helyzetben;
>
>