Мазмуну:

Simple Unity Controller: 5 кадам
Simple Unity Controller: 5 кадам

Video: Simple Unity Controller: 5 кадам

Video: Simple Unity Controller: 5 кадам
Video: Научу создать игру на Unity за 5 минут!!! | Gamicle 2024, Декабрь
Anonim
Simple Unity Controller
Simple Unity Controller

Description

Бул проект - бул мен ойноткучту солго жана оңго кетире турган оюнду башкаруу үчүн ойлоп тапкан баскычтарды басканда, Биримдикке кириш бере турган өтө жөнөкөй контроллер. Албетте, сиз аны ар дайым көбүрөөк көзөмөлдөө үчүн жөндөй аласыз. Эч кандай кошумча китепканаларды колдонуунун кажети жок.

1 -кадам: материалдар

Керектүү компоненттер

  • -Arduino 2x каршылыгы
  • -[~ 220 Ом
  • -Зымдар
  • -2x баскычтар
  • -Нан тактасы

2 -кадам: Breadboarding

Breadboarding
Breadboarding

Мен arduino GND портун нандын сол жагындагы терс (-) пинке туташтырып, 5Vны оң жактагы оңго (+) туташтыруу менен баштадым.

Андан кийин мен баскычтарды каалаган жериме койдум. Жана аларды зымдар жана резисторлор менен кошту.

3 -кадам: Arduino коддоо

Биринчиден, сиз Arduino иштетүү үчүн код жазышыңыз керек. Мен муну түшүндүргөн кодго комментарийлерди жазам.

// Баскычтар туташкан пиндерди жарыялайбыз.

const int buttonPin1 = 3; const int buttonPin2 = 4;

жараксыз орнотуу ()

{// Serial.begin (9600) сериясын баштаңыз; // казыктарды чыгаруу катары конфигурациялоо. pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }

боштук цикл ()

{// Эгерде баскычтын абалын окуңуз (digitalRead (buttonPin1) == HIGH) {// абал HIGH болсо, бул сапты басып чыгарыңыз. Serial.println ("Сол"); кечигүү (20); } if (digitalRead (buttonPin2) == HIGH) {// абал ЖОК болсо, бул сапты басып чыгарыңыз. Serial.println ("Оңдо"); кечигүү (20); }}

4 -кадам: Биримдик

Эгерде сизде даяр оюн жок болсо, анда бул код кандайдыр бир оюн объектинде биримдикте иштейт.

эгер андай болсо, анда жылыш үчүн оюн объектиси керек болот.

Жөнөкөйлүк үчүн биз GameObject-> 3D Object-> Cube баруу менен куб түзөбүз.

куб сиздин сахнада болгондон кийин, аны тандап, Компонентти кошуу баскычын басыңыз жана жаңы скрипт түзүңүз.

System. IO. Ports китепканасы иштеши үчүн Api шайкештик деңгээлин да өзгөртүүңүз керек болот.

Бул үчүн Edit-> Project Settings-> Playerге өтүңүз

Api шайкештик деңгээлин тапканга чейин бул менюда ылдый жылдырып,. NET 2.0дин ордуна. NET 2.0 тандаңыз.

Сиз азыр коддоону баштоого даярсыз.

System. Collections колдонуу; System. Collections. Generic колдонуу; UnityEngine колдонуу; System. IO. Ports колдонуу;

коомдук класс PlayerMovement: MonoBehaviour

{коомдук сүзүү ылдамдыгы; сүзүү кыймылы;

SerialPort sp = жаңы SerialPort ("COM3", 9600);

жараксыз баштоо ()

{// OpenSerialPort () сериялык портун ачуу үчүн кодду иштетиңиз; }

жараксыз OpenSerialPort ()

{// Сериялык портту ачуу sp. Open (); sp. ReadTimeout = 1; }

боштук кыймылы (саптын багыты)

{// Ардуино кайсы багытта өткөнүн текшериңиз, эгерде (Багыт == "Солго") {motion = -1; } if (Багыты == "Оңго") {кыймылы = 1; } // gameobject жылдырыла турган сумманы эсептөө float translation = motion * speed; // Кыймылды gameobject transform. Translateге колдонуңуз (котормо, 0, 0); }

жараксыз жаңыртуу ()

{if (sp. IsOpen) {try {// serialport ачык болсо кыймыл функциясын аткарат жана Arduino Кыймыл басып чыгарган саптан өтөт (sp. ReadLine ()); } catch (System. Exception) {

}

}

} }

5 -кадам: Акыркы эскертүүлөр

Сиздин компоненттериңиз иштеп жатканын текшериңиз

Муну түзүү учурунда мен туш болгон көйгөй бардык зымдар жана коддор туура болгон жана эч кандай көйгөй болбошу керек болчу, бирок ал иштебей калды. башка компоненттериңиз менен да ушундай болушу мүмкүн.

Сунушталууда: