Hoe een flash-spel te maken

Flash is een populair formaat van games gelanceerd in browsers. Hoewel dit formaat de positie van mobiele applicaties geeft, zijn veel goede games in dit formaat geschreven. Flash gebruikt ActionScript - het is een eenvoudig te beheersen van een programmeertaal waarmee u objecten op het scherm kunt bedienen.

Stappen

Deel 1 van 3:
Begin
  1. Titel afbeelding 381698 1
een. Bedenken met het spel (haar plot) voordat je begint met het schrijven van code. Flash is eenvoudige games gemaakt, dus selecteer het game-genre en denk aan het concept. Lees het artikel Hoe maak je een computerspel. De belangrijkste genres omvatten:
  • Eindeloze race. In dergelijke games beweegt het personage automatisch en zendt de speler het alleen en springt over de obstakels (of anderszins interageert met het spel).
  • Vecht. In dergelijke spellen moet het hoofdpersonage vijanden in eindeloze gevechten / veldslagen verslaan.
  • Puzzels. Puzzel spelletjes. Varium van de eenvoudigste puzzels (verzamel drie identieke ballen) tot complexe puzzels die de basis vormen van avontuurspellen.
  • Rpg. In dergelijke games is het noodzakelijk om het hoofdpersonage (zijn vaardigheden, uiterlijk, karakter) te ontwikkelen om met verschillende tegenstanders te kunnen vechten. RPG-game-code is veel ingewikkelder code van het eenvoudigste spel.
  • Titel afbeelding 381698 2
    2. Flash is beter geschikt voor het maken van 2D-games (tweedimensionaal). Het kan 3D-games (driedimensionaal) maken, maar hiervoor moet je een zeer goed programmeertaal en andere geavanceerde technieken weten. Bijna alle populaire flash-spellen zijn tweedimensionale spellen.
  • Flash Games zijn het meest geschikt voor korte-termijn gaming-sessies, omdat ze ze spelen als er vrije tijd is (niet meer dan 15 minuten).
  • Titel afbeelding 381698 3
    3. Bekijk de ActionScript3-programmeertaal (AS3) waarop Flash-spellen zijn geschreven. Je kunt een eenvoudig spel maken, basiskennis in AS3.
  • Er zijn verschillende boeken over ActionScript beschikbaar op Amazon en in andere winkels, samen met een groot aantal handboeken en online voorbeelden.
  • Titel afbeelding 381698 4
    4. Flash Professional downloaden. Dit wordt betaald, maar het beste programma waarin Flash-spellen zijn gemaakt. Er zijn andere vergelijkbare programma`s, inclusief gratis, maar vaak missen ze een compatibiliteit of heb je meer tijd om dezelfde doelen te bereiken.
  • Flash Professional is het enige programma dat je nodig hebt om het spel te maken.
  • Deel 2 van 3:
    Het eenvoudigste spel maken
    1. Titel afbeelding 381698 5
    een. Bereken de hoofdstructuur van de code geschreven in AS3. Er zijn drie hoofddelen van een AS3-code:
    • Variabelen. Ze bevatten gegevens (numeriek, tekstueel, object en vele anderen). Variabelen worden gedefinieerd door de code Var En in één woord.
    Var PlayerHezz: Number = 100 - // "Var" - U definieert een variabele.// "Playerhealth" - Dit is de naam van de variabele.// "Nummer" - Dit is een gegevenstype (hier - numeriek).// "100" - Waarde toegewezen door variabele.// Elke regel code op AS3-eindigt "-"
  • Gebeurtenishandelaars. Op zoek naar bepaalde gebeurtenissen die moeten worden voltooid en rapporteren aan andere delen van het programma. Het is noodzakelijk om de code van de speler en de herhaling in te voeren. In de regel leveren evenementhandlers een beroep op functies.
    AddEventListener (Mouseefent.Klik, Swingword) - // "Addventlistener ()" - Definitie van gebeurtenishandler. // "Mouseef" - Inputcategorie, verwacht te worden uitgevoerd.// ".Klik" - een specifieke gebeurtenis in de categorie Mouseefent.// "Swingword" - functie die wordt uitgevoerd bij het uitvoeren van een evenement.
  • Functies. Secties van het programma gedefinieerd door het sleutelwoord zijn geadresseerd in de loop van het programma. De code van een uitdagend spel kan honderden functies omvatten en een eenvoudig spel - slechts een paar. Functies kunnen zich in een willekeurige volgorde bevinden, terwijl ze alleen beginnen wanneer ze in beroep gaan.
    FUNCTION SWINGSWORD (E: Mouseefent): Void - {// Code} // "Functie" - Sleutelwoord ingevoerd aan het begin van een functie.// "Swingword" - Functienaam.// "E: Mouseefent" - een extra parameter die aangeeft dat // dat de gebeurtenishandler naar de functie verwijst.// ": leegte" - de waarde geretourneerd door de functie. // gebruikt u niet, gebruikt u niet.
  • Titel afbeelding 381698 6
    2. Maak objecten waarmee de speler zal communiceren. Objecten zijn Sprites, personages of videoclips. In ons voorbeeld maakt een eenvoudig spel een rechthoek.
  • Voer Flash Professional uit. Maak een nieuw project ActionScript 3.
  • Druk op de werkbalk op het gereedschap Rechthoek. Dit paneel kan op verschillende plaatsen zijn, afhankelijk van de professionele configuratie van Flash. Teken een rechthoek in het venster "Scène".
  • Markeer de rechthoek met behulp van de "toewijzing" -tool.
  • Titel afbeelding 381698 7
    3. Stel de eigenschappen van het object in. Open hiervoor het menu "Bewerken" en selecteer "Converteren naar symbool" (of druk op F8). In het venster "Converteren naar symbool", wijs een object eenvoudig herkenbare naam toe, bijvoorbeeld, "vijand" (vijand).
  • Zoek het venster "Eigenschappen". Aan de bovenkant van het venster is er een leeg tekstvak gemarkeerd als "Sample Name" (als u de cursor bezoekt). Voer dezelfde naam in die u hebt ingevoerd bij het converteren van een object in een symbool (in ons voorbeeld "vijand"). Dit maakt een unieke naam die in AS3-code kan worden gebruikt.
  • Elk "monster" is een afzonderlijk object dat afhankelijk is van de code. U kunt hiervoor al kopiëren "SAMPLES" - hiervoor drukt u meerdere keren op de "Library" en sleept u het "Sample" naar de "Scene". Met elke toevoeging van "Sample", zal zijn naam veranderen ("Enemy", "Enemy1", "Enemy2" enzovoort).
  • Wanneer u het object in de code opent, gebruikt u gewoon de naam "Sample" (in ons voorbeeld "vijand").
  • Titel afbeelding 381698 8
    4. De eigenschappen van het monster wijzigen. Nadat u het monster hebt gemaakt, kunt u de eigenschappen van de eigenschappen wijzigen, bijvoorbeeld wijzigen. Om dit te doen, voert u de voorbeeldnaam in, dan ".", Dan de eigenschap naam en vervolgens de waarde:
  • Vijand.x = 150- Specificeert de positie van het "vijand" -object langs de x-as.
  • Vijand.Y = 150- Stelt de positie van het object "vijand" langs de y-as in (het begin van de y-as ligt op het bovenste punt "Scene").
  • Vijand.Rotatie = 45-Draai het object "vijand" 45 ° met de klok mee.
  • Vijand.Scalex = 3- Strekt zich uit met de "vijand" door de breedte van de vermenigvuldiger 3. De negatieve waarde van de omvang zal het object draaien.
  • Vijand.Schaal = 0.vijf- Zal de hoogte van het object twee keer snijden.
  • .
  • Titel afbeelding 381698 9
    vijf. Ontdek het team trace (). Het retourneert de huidige waarden voor specifieke objecten en is noodzakelijk om te bepalen wat alles correct werkt. Neem deze opdracht niet op in de broncode van het spel, maar het is nodig om het programma te debuggen.
  • Titel afbeelding 381698 10
    6. Maak het eenvoudigste spel met behulp van de bovenstaande informatie. In ons voorbeeld maak je een spel waarin de tegenstander de grootte zal veranderen elke keer dat je erop klikt, en totdat het de gezondheid van de gezondheid voltooit.
    Var EnemyHP: Number = 100 - // Specificeert de grootte van de gezondheid van de tegenstander (100 aan het begin van het spel).Var PlayerAtTack: Number = 10 - // Specificeert de sterkte van de aanval van de speler wanneer de vijand is geklikt.Vijand.AddEventListener (Mouseefent.Klik, Attallenemy) - // De actie van deze functie is rechtstreeks gericht op het "vijand" -object, // dat is, de functie wordt alleen gestart wanneer de klik valt op het object, // en niet op een andere plaats op het scherm. Setenemylocatie () - // plaatst de vijand op het scherm.// begint aan het allereerste begin van het spel. Functie Setenemylocatie (): ongeldig {vijand.x = 200 - // beweegt de vijand naar rechts tot 200 pixels van de linkerkant van het scherm.Vijand.Y = 150 - // beweegt de vijand met 150 pixels vanaf de bovenkant van het scherm.Vijand.Rotatie = 45 - // draait de vijand met 45 graden met de klok mee.Trace ("De X-waarde van vijand is", Vijand.X, "En de y-waarde van vijand is", Vijand.Y) - // Geeft de huidige positie van de vijand voor debugging weer.} Function Attacenemy (E: Mouseefent): Void // maakt een functie om de aanval te beschrijven wanneer de vijand is geklikt.{Enemyhp = enemyhp - PlayerAtTack - // besteedt de waarde van de aanvalsterkte van de aanval van de speler uit de gezondheidsvoorraad van de tegenstander.// Als gevolg hiervan blijkt een nieuwe waarde van de gezondheid van de tegenstander.Vijand.Scalex = EnemyHP / 100 - // Wijzigt de breedte op basis van nieuwe ingang Gezondheidswaarde.// Deze waarde is verdeeld in 100 om een ​​decimale fractie te krijgen.Vijand.Scaley = EnemyHP / 100 - // Wijzigt de hoogte op basis van de nieuwe waarde van de vijandelijke gezondheidsvoorraad.trace ("De vijand heeft", Vijandhp, "HP over") - // Geeft de verloren gezondheidsvoorraad weer. }
  • Titel afbeelding 381698 11
    7. Run het spel. Open het menu "Management" en selecteer "Test". Het start je game- klik op de vijand om de grootte te veranderen. Debugging-informatie wordt weergegeven in het venster "Uitvoer".
  • Deel 3 van 3:
    Geavanceerde technieken
    1. Titel afbeelding 381698 12
    een. Pakketjes. Ze (in afzonderlijke bestanden) zijn opgeslagen variabelen, permanente, functies en andere informatie, u kunt pakketten importeren op uw programma. Met behulp van een pakket die al door iemand is gemaakt, vereenvoudigt u de taak om een ​​programma te maken.
    • Lezen Dit artikel Voor meer informatie over hoe pakketten werken.
  • Titel afbeelding 381698 13
    2. Projectmappen maken. Als u een spel maakt met meerdere afbeeldingen en geluidsbestanden, maakt u meerdere mappen. Hiermee kunt u niet in de war raken in verschillende items, evenals pakketten in de betrokken mappen.
  • Maak een basic-projectmap. In de basismap moet u een submap "Img" maken, waarbij afbeeldingen worden opgeslagen, de submap "SND" voor geluidsbestanden en de submap "SRC" met pakketten en gamecode.
  • Maak een map "Game" in de map "SRC" voor het bestand "Constanten".
  • Deze structuur van de mapplocatie is niet verplicht, het wordt gegeven als een voorbeeld van het bestellen en organiseren van de elementen van uw project (dit is vooral belangrijk in het geval van grote projecten). Als u een eenvoudig spel maakt (zoals in ons voorbeeld), hoeft u geen mappen te maken.
  • Titel afbeelding 381698 14
    3. Voeg geluid toe aan het spel. Het spel zonder geluid of muziek stoot snel elke speler. U kunt geluid toevoegen met behulp van de tool "Lagen". Voor meer informatie over deze kijk op internet.
  • Titel afbeelding 381698 15
    4. Maak een bestand "constant". Als uw spel veel permanente waarden heeft, waarvan de waarden niet door het hele spel veranderen, kunt u een "constant" -bestand maken om alle permanente waarden erin op te slaan. Constante waarden zijn de kracht van aantrekking, karaktersnelheid en anderen.
  • Als u een bestand "Constant" maakt, plaatst u deze in de juiste projectmap en vervolgens importeren naar het pakket. U maakt bijvoorbeeld een bestand voor onderwerpen.zoals en plaats het in de game-map. Om het te importeren, moet u de volgende code gebruiken:
    Pakket {import game.* -}
  • Titel afbeelding 381698 16
    vijf. Kijk naar de games van andere ontwikkelaars. Veel ontwikkelaars onthullen de codes van hun spellen niet, maar er zijn veel training en andere projecten waarin je de code kunt zien. Dit is een geweldige manier om te leren over een aantal geavanceerde recepties die u zullen helpen bij het maken van een goed spel.
  • Deel in het sociale netwerk:
    Vergelijkbaar