Flash is een populair formaat voor browsergebaseerde videogames op sites zoals Newgrounds en Kongregate. Hoewel het Flash-formaat langzaam maar zeker minder wordt gebruikt in het licht van groeiende mobiele apps, worden er nog steeds veel kwaliteitsgames mee gemaakt. Flash maakt gebruik van ActionScript, een eenvoudig te leren taal die u controle geeft over de objecten op uw scherm. In dit wikiHow-artikel leer je hoe je een eenvoudig Flash-spel kunt maken.
Deel een van de drie:
Het proces starten
-
1 Ontwerp je spel. Voordat u begint met coderen, helpt het om een globaal idee te hebben van wat u wilt dat uw spel doet. Flash is het meest geschikt voor eenvoudige games, dus focus je op het maken van een game die maar een paar mechanismen heeft waar de speler zich zorgen over moet maken. Probeer een basisgenre en een aantal mechanica in gedachten te houden voordat je met prototyping begint. Raadpleeg deze handleiding voor meer informatie over de planningsfasen van de ontwikkeling van videogames. Gangbare Flash-spellen zijn onder andere:
- Eindeloze hardlopers: deze games bewegen automatisch het personage en de speler is verantwoordelijk voor het springen over obstakels of op een andere manier interactie met het spel. De speler heeft meestal maar één of twee opties als het gaat om besturing.
- Brawlers: dit zijn meestal sidescrollen en taak de speler met het verslaan van vijanden om verder te gaan. Het personage van de speler heeft vaak verschillende zetten die ze kunnen uitvoeren om vijanden te verslaan.
- Puzzels: deze spellen vragen de speler om puzzels op te lossen om elk niveau te verslaan. Deze kunnen variëren van Match-3-stijl zoals Bejeweled tot meer complexe puzzels oplossen die je normaal vaak tegenkomt in Adventure-spellen.
- RPG's: deze games richten zich op het ontwikkelen en ontwikkelen van personages en laten de speler door meerdere omgevingen gaan met verschillende vijandtypen. Bestrijdingsmechanismen variëren enorm van RPG tot RPG, maar veel zijn gebaseerd op beurten. RPG's kunnen aanzienlijk moeilijker te coderen zijn dan een eenvoudig actiespel.
-
2 Ontdek waar Flash in uitblinkt. Flash is het meest geschikt voor 2D-spellen. Het is mogelijk om 3D-spellen te maken in Flash, maar het is zeer geavanceerd en vereist veel kennis van de taal. Bijna elk succesvol Flash-spel is 2D geweest.
- Flash-spellen zijn ook het meest geschikt voor snelle sessies. Dit komt omdat de meeste Flash-gamespelers spelen wanneer ze wat vrije tijd hebben, zoals pauzes, wat betekent dat gamesessies meestal 15 minuten of minder duren.
-
3 Maak uzelf vertrouwd met de ActionScript3 (AS3) taal. Flash-spellen zijn geprogrammeerd in AS3 en u moet een beetje basiskennis hebben van hoe het werkt om een game succesvol te maken. Je kunt een eenvoudig spel maken met een rudimentair begrip van hoe je kunt coderen in AS3.
- Er zijn verschillende boeken over ActionScript beschikbaar op Amazon en andere winkels, samen met een groot aantal tutorials en voorbeelden online.
-
4 Download Flash Professional. Dit programma kost geld, maar is de beste manier om snel Flash-programma's te maken. Er zijn andere opties beschikbaar, waaronder open-sourceopties, maar deze hebben vaak geen compatibiliteit of duren langer om dezelfde taken uit te voeren.
- Flash Professional is het enige programma dat u nodig hebt om games te maken.
Tweede deel van de drie:
Een eenvoudig spel schrijven
-
1 Begrijp de basisbouwstenen van de AS3-code. Wanneer u een basisspel aan het maken bent, zijn er verschillende codestructuren die u gaat gebruiken. Er zijn drie hoofdonderdelen van elke AS3-code:
- Variabelen - Dit is hoe uw gegevens worden opgeslagen. Gegevens kunnen getallen, woorden (strings), objecten en meer zijn. Variabelen worden gedefinieerd door de code var en moet een woord zijn.
var playerHealth:Aantal = 100; // "var" geeft aan dat u een variabele definieert. // "playerHealth" is de naam van de variabele. // "Nummer" is het type gegevens. // "100" is de waarde die aan de variabele is toegewezen. // Alle actionscript-regels eindigen met ";"
- Event Handlers - Handlers van evenementen zoeken naar specifieke dingen die moeten gebeuren en vertellen vervolgens de rest van het programma. Dit is essentieel voor het invoeren van spelers en het herhalen van code. Gebeurtenishandlers gebruiken meestal functies.
addEventListener(MouseEvent.KLIK, swingSword); // "addEventListener ()" definieert de gebeurtenishandler. // "MouseEvent" is de categorie van invoer waarnaar wordt geluisterd. // ".CLICK" is de specifieke gebeurtenis in de categorie MouseEvent. // "swingSword" is de functie die wordt aangeroepen wanneer de gebeurtenis plaatsvindt.
- Functie - Codeonderdelen die zijn toegewezen aan een sleutelwoord dat later kan worden gebruikt. Functies behandelen het grootste deel van de programmering van uw spel, en complexe spellen kunnen honderden functies hebben, terwijl eenvoudigere games er maar een paar hebben. Ze kunnen in elke volgorde staan omdat ze alleen werken als ze worden opgeroepen.
functie swingSword (e: MouseEvent):leegte; // Je code komt hier // "functie" is het sleutelwoord dat aan het begin van elke functie wordt weergegeven. // "swingSword" is de naam van de functie. // "e: MouseEvent" is een toegevoegde parameter die laat zien dat de functie // wordt aangeroepen door de gebeurtenislistener. // ": void" is de waarde die door de functie wordt geretourneerd. Als er geen waarde is // wordt geretourneerd, gebruik: ongeldig.
- Variabelen - Dit is hoe uw gegevens worden opgeslagen. Gegevens kunnen getallen, woorden (strings), objecten en meer zijn. Variabelen worden gedefinieerd door de code var en moet een woord zijn.
-
2 Maak een object. ActionScript wordt gebruikt om objecten in Flash te beïnvloeden. Om een spel te maken, moet je objecten maken waarmee de speler kan communiceren. Afhankelijk van de gidsen die u leest, kunnen objecten worden aangeduid als sprites, acteurs of filmclips. Voor dit eenvoudige spel maak je een rechthoek.
- Open Flash Professional als u dat nog niet hebt gedaan. Maak een nieuw ActionScript 3-project.
- [1]
- Klik op het tekentool Rechthoek in het deelvenster Gereedschappen.Dit paneel bevindt zich mogelijk op verschillende locaties, afhankelijk van de configuratie van Flash Professional. Teken een rechthoek in je scènevenster.
- Selecteer de rechthoek met het gereedschap Selectie.
-
3 Ken eigenschappen toe aan het object. Met uw nieuw gemaakte rechthoek geselecteerd, opent u het menu Wijzigen en selecteert u "Converteren naar symbool". U kunt ook op drukken F8 als een snelkoppeling. Geef het object in het venster "Converteren naar symbool" een gemakkelijk herkenbare naam, zoals "vijand".
- Zoek het eigenschappenvenster. Boven aan het venster ziet u een leeg tekstveld met de naam "Exemplaarnaam" als u eroverheen beweegt. Noem het hetzelfde als toen je het naar een symbool ("vijand") vertaalde. Hiermee wordt een unieke naam gemaakt waarmee u via AS3-code kunt werken.
- Elke "instantie" is een afzonderlijk object dat door code kan worden beïnvloed. U kunt het reeds gemaakte exemplaar meerdere keren kopiëren door op het tabblad Bibliotheek te klikken en het exemplaar naar de scène te slepen. Telkens wanneer u er een toevoegt, wordt de naam gewijzigd om aan te geven dat het een afzonderlijk object is ("vijand", "vijand1", "vijand2", enz.).
- Wanneer u naar de objecten in de code verwijst, hoeft u alleen maar de instantienaam te gebruiken, in dit geval 'vijand'.
-
4 Leer hoe u de eigenschappen van een exemplaar kunt wijzigen. Nadat u een exemplaar hebt gemaakt, kunt u de eigenschappen aanpassen via AS3. Hiermee kunt u het object over het scherm verplaatsen, de grootte ervan wijzigen, enzovoort. U kunt de eigenschappen aanpassen door de instantie te typen, gevolgd door een punt "." Gevolgd door de eigenschap, gevolgd door de waarde:
- vijand.x = 150; Dit beïnvloedt de positie van het vijandelijke object op de X-as.
- vijand.y = 150; Dit beïnvloedt de positie van het vijandelijke object op de Y-as. De Y-as wordt berekend vanaf de bovenkant van de scène.
- vijand.rotatie = 45; Roteert het vijandelijke object 45 ° met de klok mee.
- enemy.scaleX = 3; Rekt de breedte van het vijandelijke object met een factor 3 uit. Een (-) getal zal het voorwerp omdraaien.
- enemy.scaleY = 0,5; Slaat het voorwerp tot de helft van zijn hoogte.
-
5 Bestudeer het spoor() opdracht. Deze opdracht retourneert de huidige waarden voor specifieke objecten en is handig om te bepalen of alles werkt zoals het hoort. Mogelijk wilt u de traceeropdracht niet opnemen in uw definitieve code, maar deze is handig voor foutopsporing.
-
6 Bouw een basisspel met behulp van de bovenstaande informatie. Nu je een basiskennis hebt van de kernfuncties, kun je een spel maken waarbij de vijand telkens wanneer je erop klikt, van grootte verandert, totdat deze geen gezondheid meer heeft.[2]
var enemyHP:Aantal = 100; // zet de HP van de vijand (gezondheid) in het begin op 100. var playerAttack:Aantal = 10; // stelt de spelers in voor aanvalskracht wanneer ze klikken. vijand.addEventListener(MouseEvent.KLIK, attackEnemy); // Door deze functie direct aan het vijandelijke object toe te voegen, // de functie gebeurt alleen wanneer het object zelf is // klikte, in plaats van ergens op het scherm te klikken. setEnemyLocation(); // Dit roept de volgende functie op om de vijand te plaatsen // op het scherm. Dit gebeurt wanneer het spel begint. functie setEnemyLocation ():leegte vijand.X = 200; // verplaatst de vijand naar 200 pixels vanaf de linkerkant van het scherm vijand.Y = 150; // verplaatst de vijand 150 pixels omlaag vanaf de bovenkant van het scherm vijand.omwenteling = 45; // roteert de vijand 45 graden met de klok mee spoor("de x-waarde van de vijand is"vijand.X, "en de y-waarde van de vijand is"vijand.Y); // Geeft de huidige positie van de vijand weer voor foutopsporing functie attackEnemy (e: MouseEvent):leegte // Hiermee wordt de aanvalsfunctie gemaakt voor wanneer op de vijand wordt geklikt enemyHP = enemyHP - playerAttack; // Trekt de aanvalswaarde af van de HP-waarde, // resulterend in de nieuwe HP-waarde. vijand.scaleX = vijandHP / 100; // Wijzigt de breedte op basis van de nieuwe HP-waarde. // Het is gedeeld door 100 om het in een decimaal te veranderen. vijand.scaleY = vijandHP / 100; // Verandert de hoogte op basis van de nieuwe HP-waarde spoor("De vijand heeft", enemyHP, "HP is weggegaan"); // Geef op hoeveel HP de vijand nog heeft
-
7 Probeer het. Nadat je de code hebt gemaakt, kun je je nieuwe game testen. Klik op het bedieningsmenu en selecteer Film testen. Je spel begint en je kunt op het vijandige voorwerp klikken om de grootte te wijzigen. Uw sporenuitgangen worden weergegeven in het Output-venster.
Derde deel van de drie:
Geavanceerde technieken leren
-
1 Ontdek hoe pakketten werken. ActionScript is gebaseerd op Java en gebruikt een zeer vergelijkbaar pakketsysteem. Met pakketten kunt u variabelen, constanten, functies en andere informatie opslaan in afzonderlijke bestanden en deze bestanden dan in uw programma importeren. Deze zijn vooral handig als u een pakket wilt gebruiken dat iemand anders heeft ontwikkeld en waarmee u uw spel eenvoudiger kunt maken.
- Raadpleeg deze handleiding voor meer informatie over hoe pakketten werken in Java.
-
2 Bouw je projectmappen. Als u een game met meerdere afbeeldingen en geluidsfragmenten maakt, moet u een mapstructuur voor uw game maken. Hierdoor kunt u eenvoudig uw verschillende elementen opslaan en verschillende pakketten opslaan om op te roepen.
- Maak een basismap voor uw project. In de basismap zou je een "img" -map moeten hebben voor al je kunstitems, een "snd" -map voor al je geluidsactiva en een "src" -map voor al je gamepakketten en -code.
- Maak een map "Game" in de map "src" om uw Constants-bestand op te slaan.
- Deze specifieke structuur is niet nodig, maar is een eenvoudige manier om uw werk en materialen te organiseren, vooral voor grotere projecten.Voor de eenvoudige game die hierboven is uitgelegd, hoeft u geen mappen te maken.
-
3 Voeg geluid toe aan je spel. Een spel zonder geluid of muziek zal snel saai worden voor de speler. U kunt geluid aan objecten toevoegen aan Flash met behulp van het hulpmiddel Lagen. Raadpleeg deze handleiding voor meer informatie.
-
4 Maak een Constanten-bestand. Als je game veel waarden heeft die tijdens het spel hetzelfde blijven, kun je een Constanten-bestand maken om ze allemaal op één plek op te slaan, zodat je ze eenvoudig kunt gebruiken. Constanten kunnen waarden bevatten zoals zwaartekracht, spelersnelheid en elke andere waarde die u mogelijk herhaaldelijk moet gebruiken.[3]
- Als u een Constanten-bestand maakt, moet het in een map in uw project worden geplaatst en vervolgens als een pakket worden geïmporteerd. Stel dat u bijvoorbeeld een bestand Constants.as maakt en in uw gamemap plaatst. Om het te importeren, zou je de volgende code gebruiken:
pakket importeren Spel.*;
- Als u een Constanten-bestand maakt, moet het in een map in uw project worden geplaatst en vervolgens als een pakket worden geïmporteerd. Stel dat u bijvoorbeeld een bestand Constants.as maakt en in uw gamemap plaatst. Om het te importeren, zou je de volgende code gebruiken:
-
5 Kijk naar de games van andere mensen. Hoewel veel ontwikkelaars de code voor hun games niet zullen onthullen, zijn er een aantal projecttutorials en andere open projecten waarmee je de code kunt zien en hoe deze samenwerkt met game-objecten. Dit is een geweldige manier om een aantal geavanceerde technieken te leren die je spel kunnen helpen opvallen.
Facebook
Twitter
Google+