Obsah:
Video: Flappy Bird na ATtiny85 a OLED displeji SSD1306: 6 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Ahojte, všetci, Dnes vám ukážem základný klon flappy vtákov, ktorý som vytvoril, a ako môžete pokračovať v tvorbe podobnej hry. V podstate s vami prejdem svoj kód a vysvetlím, ako to funguje na každom kroku. Táto hra je postavená na tom, aby fungovala na ATtiny85 s taktom 1 MHz a displejom I2C OLED. Ďalej!
Krok 1: Hardvér
Ak vás nezaujíma vytváranie obvodu pre hru, ale pochopenie teórie, ktorú stojí za tým, tento krok môžete preskočiť.
Moja hra vyžaduje dve tlačidlá, ATtiny85, obrazovku I2C OLED 128x64px a nejaký zdroj energie. Moja inštruktážna vizitka/herná konzola: Obrazovka ATtiny85 a OLED vám ukáže, ako postaviť dosku, na ktorej je všetko, čo potrebujete! Ak nemáte záujem o výrobu mojej nástenky, vyberte ju a ja vám poviem špecifikácie. Môžete použiť akýkoľvek variant ATtiny85. Odporúčam OLED displeje, ako je tento.
- Pripojte jednu stranu dvoch tlačidiel k pinom 2 a 3 na svojom ATtiny85. Na tieto vodiče tiež pridajte odpor 10 kOhm pripojený k zemi (sťahovací odpor).
- Druhú stranu týchto tlačidiel zapojte do napätia. Keď tlačidlo nestlačíte, stav špendlíka bude nízky. Po jeho stlačení bude stav kolíka vysoký.
- Pripojte kolík 7 k kolíku SCL na displeji a kolík 5 k kolíku SDA na displeji. Podľa toho zapojte napájacie kolíky (VCC a GND) na displej.
- Nakoniec pripojte pin 4 na ATtiny k zemi a pin 8 k napätiu.
Krok 2: Softvér
Tu je pripojený priečinok so všetkými súbormi, ktoré potrebujete na spustenie hry. Dva zo súborov, FlappyBird.ino a WallFunctions.h, sú veľmi dobre komentované pre vaše potešenie z čítania. Môžete nahrať skicu FlappyBird.ino do svojho ATtiny85 (na 1MHz) a hrať preč! Ak vás štúdium teórie tejto hry zaujíma alebo si chcete vytvoriť vlastnú hru, čítajte ďalej!
V mojej hre je stále niekoľko problémov. I2C nie je najlepší spôsob prenosu údajov akýmikoľvek prostriedkami. Podľa tohto príspevku môže displej prijímať údaje iba pri približne 100 kHz, takže aj keď zvýšime rýchlosť hodín ATtiny na 8 MHz, kanál I2C bude stále prekážkou. Displej dokáže produkovať maximálne 10 snímok za sekundu. Čím viac oddelených obrázkov musí displej kresliť, tým je celý proces pomalší. Moja hra je teda celkom jednoduchá, pretože nemôžete prinútiť steny, aby sa veľmi rýchlo pohybovali po obrazovke! Nasleduje niekoľko výziev, ak si myslíte, že úlohu splníte:
- Aby bola hra náročnejšia, zistite, či môžete dosiahnuť, aby rozstup medzi stenami bol 2 namiesto 4. Nemalo by to byť príliš ťažké, keď pochopíte, ako môj program funguje:). Napíšte, prosím, do komentárov, či vám to môže fungovať!
- Ďalšou vecou, ktorú mojej hre chýba, je systém skóre a spôsob, ako skóre zobraziť a uložiť ho. Zistite, či ho môžete implementovať!
- Nakoniec, namiesto toho, aby sa steny pohybovali po jednom stĺpci, pokúste sa dosiahnuť, aby sa každá stena pohybovala po jednom pixeli, aby bol pohyb plynulejší.
Krok 3: Flappy Bird ATtiny85: Teória
Napriek tomu, že displej, ktorý používame, má výšku 64 pixelov, ktoré je možné použiť v hre, prvky je možné umiestniť iba do blokov s 8 pixelmi. Existuje teda iba 8 možných súradníc y. Aby to bolo jednoduchšie, v softvéri som týmto spôsobom rozdelil celú obrazovku a vytvoril som mriežku 16 blokov po 8 blokoch, kde každý blok má 8 x 8 pixelov. Na vyplnenie každého bloku má každý sprite v hre 8 x 8 pixelov. Vďaka tomu je všetko oveľa jednoduchšie spravované. Ak sa pozriete na obrázok vyššie, môžete vidieť, ako som rozdelil obrazovku. Každá stena sa skladá zo 6 blokov s dierou na výšku 2 bloky, takže celková výška každej steny je 8 blokov.
V programe je každá stena znázornená ako štruktúra nazývaná stena. Každá štruktúra steny má dve vlastnosti - polohu diery a stĺpik. 'holePosition' je číslo 0-6, pretože v stene s 8 blokmi je len 7 možných polôh pre dieru vysokú 2 bloky. „Stĺpec“je číslo 0-15, pretože na obrazovke je možné 16 stĺpcov blokov.
Odporúča:
Muscle Powered Flappy Bird: 9 krokov (s obrázkami)
Muscle Powered Flappy Bird: Môžete si spomenúť, keď Flappy Bird vzal svet útokom a nakoniec sa stal tak populárnym, že ho tvorca odstránil z obchodov s aplikáciami, aby sa predišlo nechcenej publicite. Toto je Flappy Bird, ako ste ho nikdy predtým nevideli; skombinovaním niekoľkých bežných regálov
Bitmapová animácia na OLED displeji SSD1331 (SPI) s Visuino: 8 krokov
Bitmapová animácia na OLED displeji SSD1331 (SPI) s Visuino: V tomto návode budeme zobrazovať a presúvať sa bitmapový obrázok v jednoduchej forme animácie na OLED displeji SSD1331 (SPI) s Visuino. Pozrite si video
Ako posúvať TEXT na OLED DISPLEJI I2C 0,91 "128X32: 6 krokov
Ako posúvať TEXT na 0,91 "OLED DISPLEJI I2C 0,91" 128X32: V tomto tutoriále sa naučíme, ako posúvať TEXT na OLED DISPLAY I2C 0,91 "128X32 pomocou softvéru Arduino a Visuino. Pozrite si video
Tweety na displeji OLED SPI a doske s fotónmi častíc: 6 krokov
Tweety na displeji OLED SPI a doske častíc s fotónmi: Zdravím vás všetkých. Tento ľahký návod nám ukáže, ako čítať naše tweety pomocou IFTTT a dosky Photon. Možno budete musieť vidieť tento návod
Grafika na displeji SSD1306 I2C OLED 128 x 64 s obvodom Python pomocou Itsybitsy M4 Express: 13 krokov (s obrázkami)
Grafika na displeji SSD1306 I2C OLED 128x64 s obvodom Python s využitím Itsybitsy M4 Express: OLED displej SSD1306 je malý (0,96 "), lacný, široko dostupný, I2C, monochromatický grafický displej s rozlíšením 128x64 pixelov, ktorý je ľahko prepojiteľný (iba 4 vodiče) na vývojové dosky mikroprocesorov, ako sú Raspberry Pi, Arduino alebo