Satura rādītājs:

Vienkāršs vienotības kontrolieris: 5 soļi
Vienkāršs vienotības kontrolieris: 5 soļi

Video: Vienkāršs vienotības kontrolieris: 5 soļi

Video: Vienkāršs vienotības kontrolieris: 5 soļi
Video: Техники исцеления отношений с родителями: практические шаги к гармонии и путь к взаимопониманию 2024, Novembris
Anonim
Vienkāršs vienotības kontrolieris
Vienkāršs vienotības kontrolieris

Apraksts

Šis projekts ir ļoti vienkāršs kontrolieris, kas var dot ieguldījumu Unity, nospiežot pogas, kuras es izstrādāju, lai kontrolētu manu spēli, kur spēlētājs var iet pa kreisi un pa labi. Protams, jūs vienmēr varat to pielāgot, lai iegūtu vairāk kontroles. Nav nepieciešams izmantot papildu bibliotēkas.

1. solis: materiāli

Nepieciešamās sastāvdaļas

  • -Arduino 2x rezistors
  • -[~ 220 omi
  • -Vadi
  • -2x pogas
  • -Maizes dēlis

2. darbība

Maizes dēlis
Maizes dēlis

Es sāku, savienojot arduino GND portu ar negatīvu (-) tapu maizes dēļa kreisajā pusē un savienojot 5 V ar pozitīvu (+) maizes dēļa labajā pusē.

Pēc tam es ievietoju pogas vietā, kurā es gribēju. Un savienoja tos, izmantojot vadus un rezistorus.

3. darbība: Arduino kodēšana

Pirmkārt, jums būs jāraksta kods, lai jūs varētu palaist Arduino. Es kodā ievietoju komentārus, kas paskaidro, ko tas dara.

// Deklarējiet tapas, kurām pogas ir pievienotas.

const int pogaPin1 = 3; const int pogaPin2 = 4;

anulēts iestatījums ()

{// Sāciet sēriju Serial.begin (9600); // Konfigurējiet tapas kā izvadi. pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

tukša cilpa ()

{// Lasiet pogas stāvokli, ja (digitalRead (buttonPin1) == HIGH) {// izdrukājiet šo rindiņu, ja stāvoklis ir HIGH. Serial.println ("Pa kreisi"); kavēšanās (20); } if (digitalRead (buttonPin2) == HIGH) {// izdrukāt šo rindiņu, ja stāvoklis ir HIGH. Serial.println ("Pareizi"); kavēšanās (20); }}

4. solis: Vienotība

Ja jums vēl nav gatava spēle, šis kods vienoti darbosies ar jebkuru spēles objektu.

ja tas tā ir, jums būs nepieciešams spēles objekts, lai pārvietotos.

Vienkāršības labad mēs izveidosim kubu, dodoties uz GameObject-> 3D Object-> Cube

kad kubs ir jūsu ainā, atlasiet to un nospiediet pogu Pievienot komponentu un izveidojiet jaunu skriptu.

Tāpat jums būs jāmaina Api saderības līmenis, lai bibliotēka System. IO. Ports darbotos.

Lai to izdarītu, dodieties uz Rediģēt-> Projekta iestatījumi-> Atskaņotājs

ritiniet uz leju šajā izvēlnē, līdz atrodat Api saderības līmeni, un atlasiet. NET 2.0, nevis. Net 2.0 apakškopu

Tagad jūs esat gatavs sākt kodēšanu.

izmantojot System. Collections; izmantojot System. Collections. Generic; izmantojot UnityEngine; izmantojot System. IO. Ports;

publiskās klases PlayerMovement: MonoBehaviour

{publiskais peldēšanas ātrums; pludiņa kustība;

SerialPort sp = jauns SerialPort ("COM3", 9600);

anulēts sākums ()

{// Palaidiet kodu, lai atvērtu seriālo portu OpenSerialPort (); }

anulēts OpenSerialPort ()

{// Atveriet seriālo portu sp. Open (); sp. ReadTimeout = 1; }

tukša kustība (virknes virziens)

{// Pārbaudiet, kādā virzienā arduino ir nodevis, ja (Direction == "Left") {kustība = -1; } ja (Virziens == "Pa labi") {kustība = 1; } // aprēķināt summu, par kādu tiks pārvietots spēles objekts pludiņa tulkojums = kustība * ātrums; // Lietot kustību gameobject transform. Translate (tulkojums, 0, 0); }

spēkā neesošs atjauninājums ()

{if (sp. IsOpen) {try {// kamēr seriālais ports ir atvērts, izpildiet kustības funkciju un palaidiet rindu, kurā Arduino drukā kustību (sp. ReadLine ()); } nozveja (System. Exception) {

}

}

} }

5. darbība. Noslēguma piezīmes

Pārbaudiet, vai jūsu komponenti darbojas

Radot šo problēmu, es saskāros ar to, ka visi vadi un kods bija pareizi, un problēmām nevajadzētu būt, bet tas nedarbojās. Manā gadījumā tas bija vads, kas nedarbojās, lai gan tas pats var notikt ar dažām citām jūsu sastāvdaļām.

Ieteicams: