Star Wars tema retro arkadspel (6 / 9 steg)
Steg 6: Animation
Om du vill göra fartyget vicka med ange frekvens, du kan göra så här: Rita fartyg, delay(time), rita andra skepp, delay(time) och upprepa. Detta fungerar. Men vad händer när du försöker trycka på en knapp? Ingenting. Varför? Under delay() funktion, Processor "sover" och gör ingenting annat. Detta blir fruktansvärt märkbar när du vill animera saker på olika frekvenser.
Oroa dig inte, det finns en lösning på detta problem. Du måste hålla reda på när du senast uppdaterade ditt rymdskepp och jämföra aktuell tid till den. Om skillnaden är stor nog, uppdatera du Rymdskepps sprite. Detta görs genom att spara tid i en variabel (timeA = millis();) och jämföra dem för att uppdatera cycle variabel (om millis ()-timeA > animationTime {uppdatering sprite}). Om du vill animera olika saker med olika frekvenser, måste du lagra flera tid variabler som jag gjorde i spelet - en för rymdskepp animering och en för terräng animering
Några mer animationstekniker kommer att diskuteras i nästa steg vid slutspelet splash screen del.