Indholdsfortegnelse:
Video: Why Earth Is A Prison and How To Escape It 2025
Bilforhandlere er omhyggelige med at installere våben i din tur, men derfor bliver folk spilprogrammerere. Så du kan tilføje missiler til dine HTML5 spilobjekter. Hvis du vil have missiler i din minibus, har du missiler (i det mindste i det virtuelle minivan). Masser af videospil involverer skydning, og det er en temmelig let effekt at tilføje.
Grundlæggende om projektiler til dit spil
Missiler, kugler og andre projektiler er ret nemme at arbejde med. Her er et par ideer at huske på:
-
Projektilet er en sprite. Lav et nyt sprite for projektilen. Du kan gøre det til en simpel prik eller tegne en komplet missil.
-
Lav en brugerdefineret sprite for missilet. Missilet skal bruge nogle metoder, så du kan lige så godt gøre det til en brugerdefineret sprite.
-
Missiler dør, når de forlader skærmen. Den nemmeste måde at få denne adfærd på er at indstille missilens boundAction til DIE.
-
Tilføj en brand () metode. Metoden ild () aktiveres, når missilet er fyret.
-
Genbruge samme missil igen og igen. Gamle missiler dør aldrig. De er bare skjult og genbruges, når brugeren skyder igen. Når en missil rammer noget, skal du skjule missilet. Det vil gøre det usynligt og uigennemtrængeligt for kollisioner.
Sådan lanceres dine spil missiler
Koden for missil. html er ligesom meget af den standard bil kode du har set:
missil. html var spil; var bil; var missil; funktion bil () {tCar = ny Sprite (spil, "bil. png", 50, 30); tCar. setSpeed (3); tCar. setAngle (135); tCar. checkKeys = function () {if (keysDown [K_LEFT]) {this. turnBy (-5);} hvis (keysDown [K_RIGHT]) {this. turnBy (5);} hvis (keysDown [K_SPACE]) {missil. brand ();}} // end checkKeys returnerer tCar;} // end car def funktion Missile () {tMissile = ny Sprite (spil, "missil. png", 30, 20); tMissile. skjule(); tMissile. brand = funktion () { dette. at vise(); tMissile. setSpeed (15); dette. setBoundAction (DIE); dette. setPosition (bil, x, bil, y); dette. setAngle (bil. getImgAngle ()); dette. setImage ("missil. png"); dette. setSpeed (15); } // ende brand returner tMissile;} // end missile def funktion init () {game = new Scene (); bil = ny bil (); missil = ny missil (); spil. start ();} // end init funktion opdatering () {game. klar(); bil. checkKeys (); bil. opdatering (); missil. opdatering (); } // endopdatering
Projektiler er meget sjove at bygge, og de er ikke meget vanskelige, som vist her:
-
Bygg et normalt sprite for at starte projektilet.
Dette er ikke absolut nødvendigt, men en kugle vil normalt blive fyret af en pistol, en pil vil blive fyret af en bue, og en nuklear bananraket vil blive fyret fra hvad køretøj har den slags ting.
-
Projektilet vil være dets eget sprite.
Projektilet fungerer ligesom et almindeligt sprite, men det vil blive skabt og ødelagt dynamisk.
-
Tilføj en trigger til at aflyse missilet.
Fordi bilen vil starte missilet, er triggerkoden i bilens checkKey-metode.
-
Indstil missilet, der skal gemmes som standard.
Missilet er altid rundt, men det er skjult offstage, når det ikke er nødvendigt. Hvis du anvender en sprite's hide () -metode, vil sprite stadig være i hukommelse, men det vil ikke blive tegnet, og det vil ikke udløse nogen kollisioner.
-
Opret en brand () metode til missilen.
Missilet sidder og venter på at blive aktiveret. Fire () -metoden bringer missilet til handling.
-
Gør projektilet synligt.
Visningen () -metoden er modsat af hide (). Det får en sprite til at være synlig og udløse kollisioner.
-
Giv missilet en hurtig starthastighed.
Som du ved, er missiler normalt hurtige.
-
Skjul missilet, når det rammer kanten.
Når missilen rammer kanten af skærmen, skal den være skjult. Indstilling af missilens boundAction til DIE vil gøre denne adfærd automatisk.
-
Skjul missilet, hvis det rammer noget andet.
Dette enkle eksempel har ingen andre objekter, men hvis missilet kolliderer med noget andet, skal man påberåbe sig sin hide () -metode for at simulere missilet, der ødelægges ved kontakt.
Når du har den ordinære missiladfærd, kan du prøve en række interessante variationer:
-
Tilføj tyngdekraften til missilerne. Hvis det er en side scroller, tilføj en tyngdekraft til dine missiler for en ormlignende effekt.
-
Tilføj anden fysik til missiler. Du kan få missilerne til at trække som enhver anden sprite.
-
Lav en smart missil. Brug vinkelTo-metoden til at bestemme vinklen mellem et missil og et mål, og drej missilet mod målet på hver ramme. Dette vil simulere en smart missil, som aldrig går glip af. (En stor power-up, men det gør spillet for nemt, hvis du har for mange.)
-
Lav et ikke så smart missil. Hvis fjenden fyrer en missil på spilleren, vil du ikke have det helt så smart. Først gør missilet langsomt nok til, at det kan gå ud. For det andet sæt barrierer, der kan ødelægge missilen i vejen. For det tredje gør missilet kun smart en gang imellem, så det kontrollerer placeringen af målet hver femte eller ti rammer.