Talaan ng mga Nilalaman:

Paano Gumawa ng isang Multiplayer Game Sa Mga Controller ng Arduino: 6 na Hakbang
Paano Gumawa ng isang Multiplayer Game Sa Mga Controller ng Arduino: 6 na Hakbang

Video: Paano Gumawa ng isang Multiplayer Game Sa Mga Controller ng Arduino: 6 na Hakbang

Video: Paano Gumawa ng isang Multiplayer Game Sa Mga Controller ng Arduino: 6 na Hakbang
Video: How to make the Philippines Flag in Minecraft! 2024, Nobyembre
Anonim
Paano Gumawa ng isang Multiplayer Game Sa Mga Controller ng Arduino
Paano Gumawa ng isang Multiplayer Game Sa Mga Controller ng Arduino

Naisip mo ba kung paano lumikha ang mga developer ng laro ng kamangha-manghang mga laro na nasisiyahan ang mga tao sa buong mundo na maglaro? Kaya, Ngayon bibigyan kita ng isang maliit na pahiwatig tungkol dito sa pamamagitan ng paggawa ng isang maliit na laro ng multiplayer na makokontrol ng alinman sa isang Arduino controller na gagawin mo rin. Kaya, magsimula tayo.

Mga gamit

Kakailanganin mong:

  • Isang Laptop
  • Unity Engine
  • Isang C # IDE na gumagana sa Unity tulad ng visual studio o Atom. (Gagamitin ko ang Visual Studio Code)
  • 2X Arduino Nano
  • 2X Malaking Lupong Tinapay
  • 2X Maliit na Lupong Tinapay
  • 4X Tack Switch (Push Button)
  • 4X 200Ω Resistor
  • 12X Lalaki hanggang Lalaki na Mga Jumper Wires
  • Arduino IDE

Makakatulong kung mayroon kang isang pangunahing pag-unawa sa paggamit ng Unity, subalit hindi ito makakaapekto sa iyong pag-unlad dahil pamilyar ka dito habang nagpapatuloy sa paggawa ng laro.

Link para sa pag-download ng Unity Engine:

store.unity.com/download-nuo

Link para sa pag-download ng Visual Studio Code IDE:

code.visualstudio.com/download

Link para sa pag-download ng Arduino IDE:

www.arduino.cc/en/Main/Software

Hakbang 1: I-setup ang Mga Hangganan ng Laro

I-set up ang Mga Hangganan ng Laro
I-set up ang Mga Hangganan ng Laro
I-set up ang Mga Hangganan ng Laro
I-set up ang Mga Hangganan ng Laro
I-set up ang Mga Hangganan ng Laro
I-set up ang Mga Hangganan ng Laro

Una sa lahat, kailangan mong mag-download ng pagkakaisa

Kapag tapos na iyon maaari mong simulang i-set up ang view ng iyong laro.

Magbukas ng isang bagong proyekto ng Unity, pangalanan ito at piliin ang 2D na laro.

Kapag bumukas ang proyekto, pansinin na mayroong 3 pangunahing mga seksyon na tinawag

  • Hierarchy (dito madaragdag ang lahat ng iyong mga object at detalye ng laro).
  • Scene (kung saan mo na-set up ang view ng laro).
  • Laro (kung saan maaari mong subukan kung paano magaganap ang tunay na laro).

Pansinin na sa ilalim ng hierarchy nariyan ang iyong eksena at sa ilalim ng eksena mayroong "Pangunahing Camera". Kapag pinili mo ang camera mula sa hierarchy mapili ito sa eksena

(Anumang bagay sa loob ng mga hangganan ng camera na ito ay ipapakita sa totoong laro).

Tingnan ang larawan 1

Ang aming laro ay binubuo ng dalawang board, isang bola na gumagalaw, at mga hangganan na naglilimita sa paggalaw ng mga board at ball.

Magsimula tayo sa pamamagitan ng paglikha ng mga hangganan.

  1. Upang lumikha ng isang bagong object ng laro, piliin ang Mga Asset> Lumikha> Sprite> parisukat (pangalanan itong "kanan at kaliwang mga hangganan") Tingnan ang larawan 2
  2. I-drag at i-drop ang kanan at kaliwang mga hangganan sa hierarchy at lilitaw ang isang parisukat sa eksena.
  3. Ayusin ang posisyon ng x axis nito sa (5) "kanan at kaliwang mga hangganan"> inspektor> ibahin ang anyo> X. Tingnan ang larawan 3
  4. Pagkatapos ay ayusin ang sukat nito upang ang laki nito upang masakop ang mga hangganan ng kamera (i-drag ang itaas at ibabang panig ng parisukat upang mabatak ito).
  5. Ayusin ang kulay nito "mula sa kanan at kaliwang mga hangganan"> inspektor> sprite render> kulay. Tingnan ang larawan 3
  6. Mag-scroll pababa sa inspektor at piliin ang magdagdag ng sangkap pagkatapos ay i-type ang Rigidbody2D at pindutin ang enter, karaniwang idaragdag nito ang pisika sa iyong object ng laro habang binibigyan nito ang pangmasang, gravity at pagtuklas ng banggaan. Gayunpaman hindi namin kailangan ng gravity sa aming laro kaya gawin ang gravity 0 sa halip 1. Kakailanganin mo ring i-freeze ang posisyon at pag-ikot upang ang paggalaw ay hindi gumagalaw nang mabangga ito. Tingnan ang larawan 4
  7. piliin ang magdagdag ng sangkap pagkatapos i-type ang Box Collider 2D at pindutin ang ipasok na ito ay magdaragdag ng isang lugar sa paligid ng object ng laro kung saan maaaring makita ang mga banggaan. Tingnan ang larawan 4
  8. Piliin ngayon ang kanan at kaliwang mga hangganan at pindutin ang (ctrl + d) upang madoble ito.
  9. Palitan ang pangalan nito ng "kaliwang hangganan" at palitan ang pangalan ng una ("kanang hangganan").
  10. Piliin ang kaliwang hangganan at ayusin ang posisyon ng x axis nito sa (-5) na may parehong paraan sa hakbang 3. Ngayon mayroon kang kanan at kaliwang mga hangganan.

Ulitin ang nakaraang 10 mga hakbang gamit ang pataas at pababang mga hangganan at palitan ang posisyon ng square sa halip na ang posisyon na x. Ang pangwakas na preview ay dapat na isang bagay na katulad sa nasa larawan.

Tingnan ang larawan 5

Hakbang 2: Pagdaragdag ng mga Lupon at Paggawa ng Mga Controller

Pagdaragdag ng mga Lupon at Paggawa ng Mga Controller
Pagdaragdag ng mga Lupon at Paggawa ng Mga Controller
Pagdaragdag ng mga Lupon at Paggawa ng Mga Controller
Pagdaragdag ng mga Lupon at Paggawa ng Mga Controller
Pagdaragdag ng mga Lupon at Paggawa ng Mga Controller
Pagdaragdag ng mga Lupon at Paggawa ng Mga Controller

Pagdaragdag ng mga Lupon

Gumawa ng isang bagong object ng laro at pangalanan itong player 1.

Ayusin:

  • Scale: X (1.2), Y (0.15), Z (1)
  • Posisyon: X (0), Y (-3.6), z (0)
  • Magdagdag ng BoxCollider2D
  • Magdagdag ng Rigidbody 2D at i-freeze ang y at z axes.

I-duplicate (ctrl + d) at palitan ang pangalan ng kopya player 2.

Ayusin:

  • Scale: X (1.2), Y (0.15), Z (1)
  • Posisyon: X (0), Y (3.6), z (0)
  • Ang isang BoxCollider ay nandiyan na.
  • Ang isang Rigidbody 2D ay nandiyan na at ang y at z axes ay mai-freeze na.

Tingnan ang larawan 1

Gumagawa ng Mga Controller

Kakailanganin mong:

  • 2X Arduino Nano
  • 2X Malaking Lupong Tinapay
  • 2X Maliit na Lupong Tinapay
  • 4X Tack Switch (Push Button)
  • 4X Resistor
  • 12X Lalaki hanggang Lalaki na Mga Jumper Wires

Ngayon tingnan ang mga larawan ng board board at pagmamapa upang tipunin ang mga joystick.

  1. Maglakip ng isang Arduino Nano chip na may isang maliit na board ng tinapay.
  2. ikabit ang 2 Tack switch sa malaking board ng tinapay tulad ng ipinakita sa larawan. Subukang panatilihing simetriko ang kanang kamay sa pisara ng tinapay sa kaliwang kamay dahil gagawin nitong mas mahusay ang joystick (Maaari mong gamitin ang ika-30 haligi bilang isang mahusay na proporsyon linya)
  3. Ikonekta ang kaliwang tuktok na pin ng kaliwang pindutan gamit ang 5V pin sa Arduino sa maliit na board ng tinapay (ang mga bagay na konektado sa parehong haligi sa breadboard ay konektado sa bawat isa).
  4. Ikonekta ang kanang tuktok na pin ng kanang pindutan gamit ang 5V pin sa Arduino.
  5. Ikonekta ang kanang-ibabang pin ng kaliwang pindutan na may isang punto sa ika-31 haligi gamit ang isang risistor.
  6. Ikonekta ang kaliwang kaliwang pin ng kanang pindutan na may isang punto sa ika-29 na haligi gamit ang isang risistor.
  7. Ikonekta ang mga resistors gamit ang pin ng GND sa Arduino.
  8. Ikonekta ang kanang tuktok na pin ng kaliwang pindutan gamit ang D3 pin sa Arduino.
  9. Ikonekta ang kaliwang tuktok na pin ng kanang pindutan gamit ang D9 pin sa Arduino.
  10. Ngayon ulitin ang mga hakbang na ito at gawin ang pangalawang controller.

Hakbang 3: Pagkonekta sa Arduino sa Serial Port

Pagkonekta sa Arduino sa Serial Port
Pagkonekta sa Arduino sa Serial Port
Pagkonekta sa Arduino sa Serial Port
Pagkonekta sa Arduino sa Serial Port
Pagkonekta sa Arduino sa Serial Port
Pagkonekta sa Arduino sa Serial Port
Pagkonekta sa Arduino sa Serial Port
Pagkonekta sa Arduino sa Serial Port

Una kailangan mong i-install ang Arduino IDE.

Kapag na-install na, maaari kang magsimula sa pamamagitan ng paggawa ng isang Arduino program na tumatanggap ng mga input mula sa mga pindutan at iimbak ang mga ito sa isang Serial port (COM port). Kapag ang isang Arduino board ay konektado sa iyong laptop, awtomatikong kinikilala ng operating system ang board bilang isang serial port, kung aling mga programa ang maaaring mai-upload. Ang mga halagang nakaimbak sa serial port ay maaaring magamit sa susunod na hakbang kapag ikinonekta namin ang Unity Engine sa serial port.

Ngayon ikonekta natin ang Arduino sa Serial port.

Tingnan ang mga larawan

  1. Ikonekta ang isang Arduino sa iyong laptop
  2. Mga tool> Lupon> Arduino Nano
  3. Kung ang iyong Arduino chip ay kamakailan-lamang (2018-2020) Mga Tool> Processor> ATmega328P (Old Bootloader).
  4. Kung ang iyong Arduino chip ay hindi kamakailan (bago ang 2018) Mga Tool> Processor> ATmega328P
  5. Mga tool> Port> COM (anuman ang lilitaw na numero, sa aking kaso ito ay 10). * Ito ang serial port kung saan maiimbak ang mga halaga.
  6. Kopyahin ang code at i-paste ito sa Arduino IDE at pindutin ang ctrl + u upang mai-upload ang programa.
  7. Ulitin sa pangalawang Arduino. (Kapag ginagawa ang hakbang 5 siguraduhin na pumili ng isa pang COM port upang ang parehong mga Controller ay hindi makakonekta sa parehong serial port).

Code:

walang bisa ang pag-setup () {

Serial.begin (9600); pinMode (3, INPUT); // Ang pagsasabi sa Arduino upang makatanggap ng isang input mula sa pin D3 pinMode (9, INPUT); // Ang pagsasabi sa Arduino upang makatanggap ng isang input mula sa pin D9} void loop () {if (digitalRead (3) == 1) {/ * Kung ang Arduino ay tumatanggap ng isang input ng 1 Serial.write (1); mula sa pin 3 Output isang halaga ng 1 sa serial port Serial.flush (); * / pagkaantala (2); } kung (digitalRead (9) == 1) {/ * Kung ang Arduino ay tumatanggap ng isang input ng 1 Serial.write (2); mula sa pin 9 Output isang halaga ng 2 sa serial port Serial.flush (); * / pagkaantala (2); }}

Paliwanag ng programa:

Ang code na ito ay tumatagal lamang ng isang input mula sa D3 pin at ang D9 pin sa Arduino, na konektado sa mga pindutan. Ang mga pindutan ay maaaring pinindot o hindi naka-compress na nangangahulugang ang mga pagbabasa na kinuha mula sa kanila ay alinman sa 1 (pinindot) o 0 (hindi naka-compress). Kung ang input mula sa kanang pindutan (mula sa D9) ay 1 (pinindot) mag-imbak ng isang halaga ng 1 sa Serial port. Kung ang input mula sa kaliwang pindutan (mula sa D3) ay 1 (pinindot) mag-imbak ng isang halaga ng 2 sa Serial port.

Hakbang 4: Pagkonekta sa Pagkakaisa Sa Serial Port

Pagkonekta sa Pagkakaisa Sa Serial Port
Pagkonekta sa Pagkakaisa Sa Serial Port
Pagkonekta sa Pagkakaisa Sa Serial Port
Pagkonekta sa Pagkakaisa Sa Serial Port

Para sa hakbang na ito ay kilalanin namin ang serial port sa Unity upang makatanggap ito ng mga input mula sa Arduino kapag pinindot ang mga pindutan. I-install ang Visual Studio Code sa iyong laptop. Pagkatapos ay pumunta sa Unity, piliin ang player 1 mula sa hierarchy, mag-scroll pababa at piliin ang magdagdag ng sangkap at i-type ang player1_motion pagkatapos ay pindutin ang enter. Tingnan ang larawan 1

Ang isang C # script ay malilikha sa inspektor, mag-right click dito at piliin ang i-edit ang script, dapat buksan ang visual studio code at magpapakita ng isang default na code na mukhang larawan 2.

Kopyahin ang sumusunod na code pagkatapos ay baguhin ang "SerialPort sp = bagong SerialPort (" COM10 ", 9600);" sa SerialPort sp = bagong SerialPort ("COM port na konektado ang iyong Arduino sa", 9600); mahahanap mo ang kanyang sa pamamagitan ng pagbalik sa iyong Arduino code at goning Tools> Port> COM (anuman ang lilitaw na numero).

Code:

gamit ang System. Collection;

gamit ang System. Collection. Generic; gamit ang UnityEngine; gamit ang System. IO. Ports; public class player1_motion: MonoBehaviour {bilis ng float = 8; pribadong float amounttomove; SerialPort sp = bagong SerialPort ("COM10", 9600); // Start ay tinawag bago ang unang pag-update ng frame na walang bisa ang Start () {sp. Open (); sp. ReadTimeout = 1; } // Ang pag-update ay tinatawag na isang beses bawat frame na walang bisa sa Pag-update () {amounttomove = speed * 0.01f; kung (sp. IsOpen) {subukan {moveObject (sp. ReadByte ()); i-print (sp. ReadByte ()); } catch (System. Exception) {}}} void moveObject (int Direction) {if (Direction == 1) {transform. Translate (Vector3.left * amounttomove, Space. World); } kung (Direksyon == 2) {transform. Translate (Vector3. Right * amounttomove, Space. World); }}}

Paliwanag ni Code:

Sinasabi ng code na ito ang pagkakaisa upang makatanggap ng mga input mula sa serial port (COM 10). Kapag ang kaliwang pindutan ay pinindot, ang Arduino ay nagpapadala ng isang halaga ng 1 sa serial port, kung ang pagkakaisa ay makakatanggap ng 1 mula sa serial port, isang bilis ay idinagdag sa object ng laro na "player 1" sa kaliwang direksyon. Kapag ang kanang pindutan ay pinindot, ang Arduino ay nagpapadala ng halagang 2 sa serial port, kung ang pagkakaisa ay makakatanggap ng 2 mula sa serial port, ang isang bilis ay idinagdag sa object ng laro na "player 1" sa tamang direksyon. kung ang serial port ay hindi makakatanggap ng isang halaga mula sa serial port, walang bilis na naidagdag sa alinman sa mga direksyon samakatuwid, ang board ay mananatiling nakatigil.

Matapos mong kopyahin ang code pindutin ang F5 upang buuin at patakbuhin ang code. Bumalik sa pagkakaisa at pindutin ang pindutan ng pag-play, dapat gumalaw pakanan ang manlalaro 1 kapag pinindot mo ang kanan at kaliwa kapag pinindot mo ang kaliwa.

Ngayon, gawin ang parehong mga hakbang sa sandaling muli ngunit sa manlalaro 2 at tiyaking magsulat sa 'Magdagdag ng sangkap' na player2_motion sa halip na player1_motion at upang makilala ang pangalawang port ng COM na konektado ang pangalawang controller, hindi pareho ang serial port.

Kakailanganin mo ring palitan ang "public class player1_motion: MonoBehaviour" sa "public class player2_motion: MonoBehaviour" sa mismong code.

Hakbang 5: Pagdaragdag ng Bola

Pagdaragdag ng Bola
Pagdaragdag ng Bola
Pagdaragdag ng Bola
Pagdaragdag ng Bola
Pagdaragdag ng Bola
Pagdaragdag ng Bola
  1. Magdagdag ng isang bagong object ng laro, ngunit sa oras na ito pumili ng isang bilog sa halip na parisukat.
  2. Palitan ang pangalan ng "bola".
  3. I-drag at i-drop sa hierarchy.
  4. Ayusin ang sukatan (X: 0.2 - Y: 0.2 - Z: 0.2).
  5. Magdagdag ng isang Rigidbody 2D at i-freeze ang Z axis lamang.
  6. Palitan ang masa sa 0,0001
  7. Palitan ang scale ng Gravity sa 0.
  8. Magdagdag ng isang Box Collider 2D.
  9. Pumunta sa Mga Asset> Lumikha> Physical na materyal 2D Tingnan ang larawan 1
  10. baguhin ang pangalan nito sa "bounce"
  11. Baguhin ang alitan sa zero mula sa inspektor
  12. Palitan ang bounciness sa 1 mula sa inspektor
  13. I-drag at i-drop ang "bounce" sa Rigidbody 2D> Materyal Tingnan ang larawan 2
  14. Piliin muli ang "bola" mula sa hierarchy at pumunta upang magdagdag ng sangkap at i-type ang Ball_movement pagkatapos ay pindutin ang enter.
  15. Mag-right click sa script at piliin ang i-edit ang script.
  16. Kopyahin ang code sa ibaba at pindutin ang F5 upang buuin at patakbuhin ito.

Code:

gamit ang System. Collection;

gamit ang System. Collection. Generic; gamit ang UnityEngine; pampublikong klase Ball_movement: MonoBehaviour {// Tumawag ay tinatawag bago ang unang pag-update ng frame ng pribadong float force = 2; walang bisa ang Start () {StartCoroutine (ilipat ()); } Lumipat ang IEnumerator () {magbabalik ng bagong WaitForSeconds (2); GetComponent (). AddForce (bagong Vector2 (1f, 0.5f) * 0.02f * puwersa); }}

Paliwanag ni Code '

Binibigyan ng code na ito ang bola ng isang tulin sa parehong direksyon sa direksyon ng X at sa direksyon ng Y na may parehong lakas, na gumagalaw ng bola sa isang anggulo na 45 °. Sa hakbang 8 nagdagdag kami ng isang materyal na pisika sa bola at binago ang pagkaingay nito, pinapanatili nito ang paggalaw ng bola sa labas ng laro.

Hakbang 6: Pagtatapos sa Laro

Pagtatapos sa Laro
Pagtatapos sa Laro
Pagtatapos sa Laro
Pagtatapos sa Laro
Pagtatapos sa Laro
Pagtatapos sa Laro
Pagtatapos sa Laro
Pagtatapos sa Laro

Ngayon kailangan naming gawing posible ang pagkatalo, kung patakbuhin mo ang laro mapapansin mo na kapag ang bola ay pumasa sa manlalaro 1 o manlalaro 2 ay tumatalbog lamang ito sa hangganan at hindi iyon eksakto ang kailangan namin sa aming laro. Sa halip nais naming gumawa ng isang counter ng iskor na binibilang ang iskor sa bawat oras na ang bola ay nakabangga sa alinman sa pataas o pababang mga hangganan at i-reset ang posisyon ng bola.

  1. I-drag at i-drop ang bola mula sa Hierarchy patungo sa Project, Gumawa ka ng isang prefab ng bola upang magamit mo ito sa ibang pagkakataon.
  2. Mag-right click sa Hierarchy at piliin ang Lumikha Empty. isang walang laman na Bagay ang lalabas, palitan ang pangalan nito upang muling magbigay ng bola at baguhin ang posisyon nito upang maging kapareho ng posisyon ng bola.
  3. Mag-right click sa hierarchy at piliin ang UI >> Text. Pansinin na kasama ng teksto ang isang canvas ang posisyon ng teksto sa laro ay nakasalalay sa posisyon ng teksto sa canvas, hindi sa mga hangganan ng aming laro. (Tingnan ang larawan 1).
  4. Baguhin ang posisyon ng teksto sa kung saan mo nais ito.
  5. Ulitin muli ang mga hakbang sa 3 at 4 para sa iskor ng pangalawang manlalaro.
  6. I-type ang unang teksto na "Player 1 Score: 0" at i-type ang pangalawang teksto na "Player 2 Score: 0". (Tingnan ang larawan 2).
  7. Lumikha ng isang script sa pataas na hangganan na tinatawag na p1wins at kopyahin ang sumusunod na code.

Code:

gamit ang System. Collection;

gamit ang System. Collection. Generic; gamit ang UnityEngine; gamit ang UnityEngine. SceneManagement; gamit ang UnityEngine. UI; pampublikong klase p1wins: MonoBehaviour {pampublikong marka sa Teksto; publiko Pagbabago ng ball_respawn; pampublikong bola ng GameObject; pribadong int p1 = 0; // Start ay tinawag bago ang unang pag-update ng frame na walang bisa Start () {} // Update ay tinatawag na isang beses bawat frame void Update () {score.text = "Score ng Player 1:" + p1; } void OnCollisionEnter2D (Collision2D iba pa) {if (other.gameObject.tag == "Ball") {Destroy (other.gameObject); p1 ++; Instantiate (bola, ball_respawn.position, ball_respawn.rotation); }}}

8. I-drag at i-drop ang ball prefab mula sa proyekto sa hakbang 1 sa parameter ng Ball. (Tingnan ang larawan 3)

9. I-drag at i-drop ang bola ng respawn mula sa hierarchy sa parameter na Ball-rerspawn. (Tingnan ang larawan 3)

10. i-drag at i-drop ang player na 1 puntos mula sa hierarchy patungo sa parameter ng Score. (Tingnan ang larawan 3)

Paliwanag ni Code:

Kapag ang bola ay nakabangga sa itaas na hangganan ay sinisira at muling nagbibigay ng respeto sa posisyon ng ball_respawn na itinalaga namin sa hakbang 2. ang layunin na gawing isang prefab ang bola ay maibalik ito sa lahat ng mga tampok nito, kung hindi man, kung ginamit namin ang bola mula sa hierarchy ay magbabalik ito ngunit hindi ito lilipat. Gayundin kapag ang bola ay nakabangga sa itaas na hangganan ang isang halaga na orihinal na katumbas ng 0 na tinatawag na p1 ay nagdaragdag ng 1. ang halagang ito ay ipinapakita bilang teksto kaya kapag ang bola ay nakabangga sa itaas na hangganan ang iskor para sa manlalaro 1 ay tumataas ng 1.

Ngayon gawin ang mga hakbang 7, 8, 9 at 10 para sa down border

para sa hakbang 7, lumikha ng isang script na tinatawag na p2wins at kopyahin sa halip ang sumusunod na code.

para sa hakbang 10, i-drag at i-drop ang marka ng player 2 mula sa hierarchy patungo sa parameter ng Score.

Code:

gamit ang System. Collection;

gamit ang System. Collection. Generic; gamit ang UnityEngine; gamit ang UnityEngine. SceneManagement; gamit ang UnityEngine. UI; pampublikong klase p2wins: MonoBehaviour {pampublikong marka sa Teksto; publiko Pagbabago ng ball_respawn; pampublikong bola ng GameObject; pribadong int p2 = 0; // Start ay tinawag bago ang unang pag-update ng frame na walang bisa Start () {} // Update ay tinatawag na isang beses bawat frame void Update () {score.text = "Score ng Player 2:" + p2; } void OnCollisionEnter2D (Collision2D iba pa) {if (other.gameObject.tag == "Ball") {Destroy (other.gameObject); p2 ++; Instantiate (bola, ball_respawn.position, ball_respawn.rotation); }}}

Inirerekumendang: