Bună ziua tuturor. Nu judecați cu strictețe începătorul) Creez un foc secvențial pentru un bomberman, care ar fi pierdut în 2 secunde, dar nici el nu va mai putea să o manipuleze, cum pot scrie acest foc într-o serie de obiecte pentru ao elimina? Scenariul arată așa
public class creatBomb. MonoBehaviour
GameObject merge;
GameObject fire1;
public int RangeBomb = 4;
Conform ideii, el trebuie să scrie distruge 4 focuri de foc (collie, în funcție de i) pur și simplu nu știe cum să se potrivească într-o serie de obiecte și da nu vede legături cu obiecte din vreun motiv. Ce ar trebui să fac?
Chiar și cu ochiul liber este clar că acest script nu va funcționa.
public class creatBomb. MonoBehaviour
GameObject merge;
GameObject fire1;
public int RangeBomb = 4;
Specificați exact coordonatele deciziei de rezolvare a problemelor
Oh, îmi pare rău pentru codul meu a scris la ora 4 deja capul nu a funcționat, care a aruncat nu arata superfluu nu a curățat.
utilizând UnityEngine;
utilizând System.Collections;
public class creatNewBomb. MonoBehaviour
# 123;
public int RangeBomb = 5;
plutonul public float = 2f;
public GameObject bobm;
GameObject player;
jocul Fire publice;
void Trezeste-te # 40; # 41;
# 123;
player = GameObject. FindGameObjectWithTag # 40; „Jucător“ # 41; ;
# 125;
private void Update # 40; # 41;
# 123;
dacă # 40; Intrare. GetKeyDown # 40; Cod de acces. spațiu # 41; # 41;
StartCoroutine # 40; MakeBox # 40; # 41; # 41; ; // în C # pentru a rula Coretinul trebuie să utilizați metoda StartCoroutine
# 125;
IEnumerator privat MakeBox # 40; # 41;
# 123;
GameObject merge = Instantiate # 40; bobm, nou Vector3 # 40; Mathf. rotund # 40; transformare. poziție. x # 41; , Mathf. rotund # 40; transformare. poziție. y # 41;. - 1f # 41;. acest lucru. transformare. rotație # 41; ca GameObject; // Instantiate creează o instanță a unei bombe care explodează în 5 secunde și flacăra emană din ea
randamentul randament nou WaitForSeconds # 40; 5F # 41; ;
pentru # 40; int z = 0; z <= RangeBomb ; z ++ ) { // Создаём огни в сторну
GameObject fire1 = Instantiate # 40; incendiu, Vector2 nou # 40; du-te. transformare. poziție. x + z, du-te. transformare. poziție. y # 41;. du-te. transformare. rotație # 41; ca GameObject;
# 125;
distruge # 40; merge # 41; ;
randamentul randament nou WaitForSeconds # 40; 1f # 41; ;
// distruge (foc1);
// distruge (foc2);
# 125;
# 125;
Aici este codul normal, nu am înțeles prea mult cum să adăugați corect o foaie, puteți scrie cum va arăta? Destroy apoi va acționa asupra obiectului?
Ultimul cod pare destul de funcțional, numai că nu există eliminarea incendiilor.
pentru # 40; int z = 0; z <= RangeBomb ; z ++ )
# 123;
GameObject fire1 = Instantiate # 40; foc, etc. # 41; ca GameObject;
distruge # 40; incendiu1, 1f # 41; ; / / aruncați focul după o secundă.
# 125;
Da, atunci eu sunt toate lucrările tupanul)) ATP.
utilizând UnityEngine;
utilizând System.Collections;
public class creatNewBomb. MonoBehaviour
# 123;
public int RangeBomb = 5;
plutonul public float = 2f;
public GameObject bobm;
GameObject player;
jocul Fire publice;
void Trezeste-te # 40; # 41;
# 123;
player = GameObject. FindGameObjectWithTag # 40; „Jucător“ # 41; ;
# 125;
private void Update # 40; # 41;
# 123;
dacă # 40; Intrare. GetKeyDown # 40; Cod de acces. spațiu # 41; # 41;
StartCoroutine # 40; MakeBox # 40; # 41; # 41; ; // în C # pentru a rula Coretinul trebuie să utilizați metoda StartCoroutine
# 125;
IEnumerator privat MakeBox # 40; # 41;
# 123;
GameObject merge = Instantiate # 40; bobm, nou Vector3 # 40; Mathf. rotund # 40; transformare. poziție. x # 41; , Mathf. rotund # 40; transformare. poziție. y # 41;. - 1f # 41;. acest lucru. transformare. rotație # 41; ca GameObject; // Instanțiate creați o instanță
randamentul randament nou WaitForSeconds # 40; 5F # 41; ;
pentru # 40; int z = 0; z <= RangeBomb ; z ++ ) { // Создаём огни в сторну
GameObject fire1 = Instantiate # 40; incendiu, Vector2 nou # 40; du-te. transformare. poziție. x + z, du-te. transformare. poziție. y # 41;. du-te. transformare. rotație # 41; ca GameObject;
void OnTriggerEnter # 40; Collader2D altul # 41; / / este o rușine că nu puteți afecta ciclul cu ajutorul unui triger ca în amprentele neclare în anterale
# 123; dacă # 40; altele. gameObject. tag = "bloc" # 41; // dacă focul se blochează pe bloc pentru a întrerupe buclele
# 123; pauză; # 125; // anulați bucla
distruge # 40; incendiu1, 1f # 41; ;
# 125;
distruge # 40; merge # 41; ;
randamentul randament nou WaitForSeconds # 40; 1f # 41; ;
//
// Distruge (foc2);>
# 125;