Sadržaj:
Video: Flappy Bird na ATtiny85 i OLED ekranu SSD1306: 6 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Zdravo svima, Danas ću vam pokazati osnovni klon flappy bird koji sam stvorio i kako možete napraviti sličnu igru. U suštini ću s vama proći kroz svoj kôd i objasniti kako to funkcionira na svakom koraku. Ova igra je napravljena za rad na ATtiny85 taktu od 1MHz, sa I2C OLED ekranom. Napred!
Korak 1: Hardver
Ako niste zainteresirani za stvaranje kola za igru, ali razumijete teoriju koja stoji iza nje, možete preskočiti ovaj korak.
Moja igra zahtijeva dva gumba, ATtiny85, I2C OLED ekran 128x64px i neki izvor napajanja. Moja instruktivna posjetnica/igraća konzola: ATtiny85 i OLED ekran vam pokazuju kako izgraditi ploču na kojoj je sve što vam je potrebno! Ako niste zainteresirani za izradu moje ploče, izađite sa svoje ploče i reći ću vam specifikacije. Možete koristiti bilo koju varijantu ATtiny85. Preporučujem OLED ekrane poput ovog.
- Spojite jednu stranu dva tastera na pinove 2 i 3 na vašem ATtiny85. Na ove žice dodajte i otpornik od 10 k ohma spojen na masu (otporni otpornik).
- Spojite drugu stranu ovih tipki na napon. Kada dugme ne pritisnete, stanje pin -a će biti nisko. Kada se pritisne, stanje pina će biti visoko.
- Spojite pin 7 na SCL pin na ekranu, a pin 5 na SDA pin na ekranu. U skladu s tim ožičite priključke za napajanje (VCC i GND) na ekranu.
- Na kraju, spojite pin 4 na ATtiny na masu i pin 8 na napon.
Korak 2: Softver
Ovdje je priložena mapa sa svim datotekama koje su vam potrebne za pokretanje igre. Dvije datoteke, FlappyBird.ino i WallFunctions.h, vrlo su dobro komentirane za vaše zadovoljstvo čitanja. Skicu FlappyBird.ino možete postaviti na svoj ATtiny85 (na 1MHz) i igrati u gostima! Ako vas zanima teorija koja stoji iza ove igre ili želite napraviti svoju igru, čitajte dalje!
Još uvijek postoji nekoliko problema s mojom igrom. I2C nije najbolji način za prijenos podataka na bilo koji način. Prema ovom postu, ekran može prihvatiti podatke samo na oko 100KHz, pa čak i ako povećamo taktu ATtiny na 8MHz, I2C kanal će i dalje biti usko grlo. Zaslon može prikazati maksimalno 10 fps. Što ekran treba izvući više zasebnih slika, cijeli proces je sporiji. Dakle, moja igra je prilično jednostavna jer ne možete postići da se zidovi kreću vrlo brzo po ekranu! U nastavku su navedeni neki izazovi za vas ako mislite da ste na visini zadatka:
- Da biste otežali igru, provjerite možete li povećati razmak između zidova 2 umjesto 4. Ne bi trebalo biti previše teško kad shvatite kako moj program funkcionira:). Javite u komentarima ako uspijete!
- Još jedna stvar koja nedostaje mojoj igri je sistem bodovanja i način da prikažem rezultat i sačuvam ga. Pogledajte možete li primijeniti jedan!
- Na kraju, umjesto da se zidovi pomiču jedan po jedan stupac, pokušajte natjerati svaki zid da se pomiče jedan po jedan piksel radi lakšeg kretanja.
Korak 3: Flappy Bird ATtiny85: Teorija
Iako ekran koji koristimo ima 64 piksela visine za igru, moguće je pozicioniranje elemenata samo u blokove od 8 piksela. Dakle, postoji samo 8 mogućih y-koordinata. Da bih olakšao stvari, u softveru sam na ovaj način podijelio cijeli ekran, čineći mrežu od 16 blokova po 8 blokova, gdje je svaki blok 8x8 piksela. Za popunjavanje svakog bloka, svaki sprite u igri je 8x8 piksela. To čini sve MNOGO lakšim za upravljanje. Ako pogledate gornju sliku, možete vidjeti kako sam podijelio ekran. Svaki zid se sastoji od 6 blokova, sa rupom od 2 bloka po visini, što ukupnu visinu svakog zida čini 8 blokova.
U programu je svaki zid predstavljen kao struktura zvana Zid. Svaka zidna konstrukcija ima dva svojstva - položaj rupe i stupac. 'holePosition' je broj 0-6, jer postoji samo 7 mogućih pozicija u zidu od 8 blokova za rupu visoku 2 bloka. 'stupac' je broj 0-15, jer je na ekranu moguće 16 stupaca blokova.
Preporučuje se:
Flappy Bird na mišiće: 9 koraka (sa slikama)
Flappy Bird pokrenuta mišićima: Možda se sjećate kada je Flappy Bird olujno zauzeo svijet, postajući na kraju toliko popularan da ga je kreator uklonio iz trgovina aplikacija kako bi izbjegao neželjeni publicitet. Ovo je Flappy Bird kakvog dosad niste vidjeli; kombinovanjem nekoliko kompozicija sa polica
Džepna mašina za igru Flappy Bird: 5 koraka
Pocket Flappy Bird Game Machine: Ovo je igraća konzola zasnovana na nodemcu esp8266 mikrokontroleru koja može igrati flappy bird i mnoge druge igre. Ova mašina se također može koristiti za izradu deauthera na osnovu spacehuhns koda na https://github.com/SpacehuhnTech/esp8266_deauther
Arduino Flappy Bird - Arduino 2.4 "TFT zaslon osjetljiv na dodir SPFD5408 Projekt igre ptica: 3 koraka
Arduino Flappy Bird | Arduino 2.4 "TFT zaslon osjetljiv na dodir SPFD5408 Projekt igre ptica: Flappy Bird je bila previše popularna igra unatrag nekoliko godina i mnogi ljudi su je stvorili na svoj način pa sam i ja stvorio svoju verziju flappy bird sa Arduinom i jeftinim 2.4" TFT " Zaslon osjetljiv na dodir SPFD5408, pa počnimo
Arduino Flappy Bird igra: 6 koraka
Arduino Flappy Bird igra: Ovo je vrlo jednostavna Arduino 16*2 Lcd igra koja se može igrati pritiskom na gumb Jednostavno & Jednostavno ………….. Ako vam se sviđa ovo uputstvo, pretplatite se na moj kanalhttps: //www.youtube.com/ZenoModiff
Grafika na SSD1306 I2C OLED ekranu 128x64 sa CircuitPythonom koristeći Itsybitsy M4 Express: 13 koraka (sa slikama)
Grafika na SSD1306 I2C OLED ekranu 128x64 sa CircuitPythonom koristeći Itsybitsy M4 Express: SSD1306 OLED ekran je mali (0,96 "), jeftin, široko dostupan, I2C, jednobojni grafički ekran sa 128x64 piksela, koji se lako povezuje (samo 4 žice) na razvojne ploče mikroprocesora kao što su Raspberry Pi, Arduino ili