Kazalo:
Video: Flappy Bird na zaslonu ATtiny85 in OLED SSD1306: 6 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Pozdravljeni vsi, Danes vam bom pokazal osnovni klon flappy bird, ki sem ga ustvaril, in kako lahko naredite podobno igro. V bistvu bom z vami pregledal svojo kodo in na vsakem koraku razložil, kako deluje. Ta igra je zasnovana za delovanje na ATtiny85 s taktom 1 MHz z zaslonom I2C OLED. Naprej!
1. korak: Strojna oprema
Če vas dejansko ne zanima izgradnja vezja za igro, vendar razumete teorijo, ki je v ozadju, lahko ta korak preskočite.
Moja igra zahteva dva gumba, ATtiny85, zaslon I2C OLED 128x64px in nekaj vira energije. Moja instruktivna vizitka/igralna konzola: ATtiny85 in OLED zaslon vam pokažeta, kako sestaviti ploščo, na kateri je vse, kar potrebujete! Če vas ne zanima izdelava moje deske, pojdite ven in vam bom povedal specifikacije. Uporabite lahko katero koli različico ATtiny85. Priporočam OLED zaslone, kot je ta.
- Priključite eno stran dveh gumbov na nožici 2 in 3 na vašem ATtiny85. Na te žice dodajte tudi 10k ohmski upor, priključen na ozemljitev (spustni upor).
- Priključite drugo stran teh gumbov na napetost. Ko gumba ne pritisnete, bo stanje zatiča nizko. Ko pritisnete, bo stanje zatiča visoko.
- Priključite pin 7 na pin SCL na zaslonu in pin 5 na pin SDA na zaslonu. Napajalne zatiče (VCC in GND) na zaslonu ustrezno priključite.
- Na koncu priključite pin 4 na ATtiny na ozemljitev in pin 8 na napetost.
2. korak: programska oprema
Tukaj je priložena mapa z vsemi datotekami, ki jih potrebujete za zagon igre. Dve datoteki, FlappyBird.ino in WallFunctions.h, sta za vaše branje zelo dobro komentirani. Skico FlappyBird.ino lahko naložite na svoj ATtiny85 (pri 1 MHz) in igrate stran! Če vas zanima teorija te igre ali želite ustvariti svojo igro, potem berite naprej!
Pri moji igri je še nekaj težav. I2C ni najboljši način za prenos podatkov na kakršen koli način. V skladu s to objavo lahko zaslon sprejema le podatke pri približno 100KHz, zato tudi če povečamo taktno frekvenco ATtiny na 8MHz, bo kanal I2C še vedno ozko grlo. Zaslon lahko prikaže največ 10 sličic na sekundo. Bolj ko mora zaslon narisati ločene slike, počasnejši je celoten postopek. Tako je moja igra precej enostavna, saj ne morete doseči, da bi se stene premikale zelo hitro po zaslonu! Spodaj je nekaj izzivov za vas, če mislite, da ste kos nalogi:
- Če želite igro otežiti, preverite, ali lahko nastavite razmik med stenami 2 namesto 4. Ne bi smelo biti preveč težko, ko boste razumeli, kako deluje moj program:). Prosimo, objavite v komentarjih, če vam bo uspelo!
- Druga stvar, ki mi manjka, je sistem točk in način, kako prikazati rezultat in ga shraniti. Preverite, ali ga lahko uresničite!
- Nazadnje, namesto da se stene premikajo za en stolpec naenkrat, poskusite vsako steno premakniti za eno slikovno piko naenkrat za bolj gladko gibanje.
3. korak: Flappy Bird ATtiny85: Teorija
Čeprav ima zaslon, ki ga uporabljamo, 64 iger višine za igro, je mogoče elemente postaviti le v bloke po 8 slikovnih pik. Tako obstaja le 8 možnih y-koordinat. Za lažje delo sem v programski opremi na ta način razdelil celoten zaslon in naredil mrežo 16 blokov po 8 blokov, pri čemer je vsak blok 8x8 slikovnih pik. Za zapolnitev vsakega bloka je vsak sprite v igri 8x8 slikovnih pik. Tako je vse veliko lažje upravljati. Če pogledate zgornjo sliko, lahko vidite, kako sem razdelil zaslon. Vsaka stena je sestavljena iz 6 blokov z luknjo 2 bloka v višino, tako da je skupna višina vsake stene 8 blokov.
V programu je vsaka stena predstavljena kot struktura, imenovana Wall. Vsaka stenska konstrukcija ima dve lastnosti - holePosition in stolpec. 'holePosition' je število 0-6, saj je v steni z 8 bloki le 7 možnih položajev za luknjo visoko 2 bloka. 'stolpec' je število 0-15, saj je na zaslonu možnih 16 stolpcev blokov.
Priporočena:
Flappy Bird z mišično močjo: 9 korakov (s slikami)
Flappy Bird z mišično močjo: Morda se spomnite, ko je Flappy Bird svet prevzel z nevihto in sčasoma postal tako priljubljen, da ga je ustvarjalec odstranil iz trgovin z aplikacijami, da bi se izognil neželeni publiciteti. To je Flappy Bird, kakršnega še niste videli; z združevanjem nekaj komposta
Bitna animacija na SSD1331 OLED zaslonu (SPI) z Visuinom: 8 korakov
Bitmap animacija na SSD1331 OLED zaslonu (SPI) z Visuinom: V tej vadnici bomo prikazali in se premikali po bitni sliki v preprosti obliki animacije na zaslonu SSD1331 OLED (SPI) z Visuinom
Kako se pomakniti po BESEDILU na OLED ZASLONU I2C 0,91 "128X32: 6 korakov
Kako se pomakniti po BESEDILU na OLED ZASLONU I2C 0,91 "128X32: V tej vadnici se bomo naučili, kako se s programsko opremo Arduino in Visuino pomakniti po besedilu na I2C 0,91 " 128X32 OLED ZASLON. Oglejte si video
Tviti na zaslonu OLED SPI in fotonska plošča iz delcev: 6 korakov
Tviti na zaslonu OLED SPI in fotonska plošča iz delcev: Lep pozdrav vsem. Ta preprosta vadnica nam bo pokazala, kako beremo naše tvite s pomočjo IFTTT in Photon board. Morda boste morali videti ta navodila
Grafika na zaslonu SSD1306 I2C OLED 128x64 s CircuitPythonom z uporabo Itybitsy M4 Express: 13 korakov (s slikami)
Grafika na zaslonu SSD1306 I2C OLED 128x64 s CircuitPythonom z uporabo Itybitsy M4 Express: Zaslon OLED SSD1306 je majhen (0,96 "), poceni, široko dostopen, enobarvni grafični zaslon I2C z ločljivostjo 128 x 64 slikovnih pik, ki ga je enostavno povezati (samo 4 žice) na mikroprocesorske razvojne plošče, kot so Raspberry Pi, Arduino ali