Slik lærer du Haxe og NME

Haxe (uttalt "Hex"), er et open source multiplattformsspråk, som kan samle seg til forskjellige språk, rettet mot Windows, Flash Player, WebOS, Android, Blackberry og HTML5 (i beta ved skrivingstid). NME, som går hånd i hånd med Haxe, er biblioteket som gjør det mulig for denne fantastiske plattformsprosessen.

Mens denne artikkelen er rettet mot de som har programmering og spillutvikling, gir den verktøy og ressurser som trengs for noen med liten eller ingen erfaring for å komme i gang med Haxe som sitt morsmål. I denne artikkelen vil jeg fortelle deg hvorfor bør du bruke Haxe, hjelpe deg med å få Haxe og NME opp og løpe på maskinen din, peke på noen av de beste læringsmidlene der ute, og hjelpe deg med å få foten i døren med Haxe samfunnet.

Relaterte innlegg
  • Slik lærer du XNA
  • Slik lærer du Flash og AS3
  • Slik lærer du enhet
  • 12 Gamedev Motorer og plattformer (og de beste måtene å lære hver av dem)

Hvorfor bruke Haxe og NME?

Hvis du er involvert i programmering eller spillutvikling, eller kanskje til og med bare bruke mye tid på internett, har du hørt frasen "Flash er døende". Jeg kommer ikke til å kaste bort noen tid med debatten akkurat nå, men ideen er knyttet til min neste tanke. Som spillutvikler, spesielt en som bare har tjent penger gjennom Flash-spill så langt, var dette uttrykket moderat angående meg.

Jeg skal si nå at jeg ikke er overbevist om at Flash er død, eller skal snart være død, men jeg ville fortsatt ha en reserveplan. Jeg har nå funnet et svar på mine bekymringer: Haxe.

Jeg har alltid ønsket å jobbe med andre plattformer i tillegg til Flash, men mengden arbeid som kreves for å bytte har alltid virket for stort til å rettferdiggjøre eller takle; Haxe endrer alt dette. Som språk er Haxe nesten identisk med AS3-koden jeg har skrevet i mange år. Enda bedre, FlashDevelop (min valgredaktør for Flash-spill) har fantastisk støtte for Haxe, så jeg trenger ikke engang å gjøre meg kjent med en ny IDE. Ikke bare gir Haxe meg sikkerheten om ikke å stole på Flash lenger, det tillater meg også å målrette mot nye plattformer.

Tidligere har målrettet mot flere plattformer alltid vært en enorm smerte, til det punktet der jeg vanligvis lader til at alternativet ikke eksisterer. Du må enten sende koden til et nytt språk (en du kanskje eller kanskje ikke vet allerede vet), eller shoppe for noen som er prøvd og bevist å gjøre det for deg. Jeg har solgt mobilrettigheter til et av spillene mine før, men selv etter en forhåndsbetaling til meg, gikk spillet aldri til live.

Med Haxe kan du eksportere til ulike plattformer ved å bare endre en rullegardinboks og legge til en liten bit betinget kode for å oppdage plattformen og endre innstillinger som fullskjermmodus. Det er ikke å si at du ikke noen ganger må trene noen få kinks, men fra jeg har lest, og den lille opplevelsen jeg har, sa kinks er neppe verdt å nevne.


Sette opp Haxe og NME

Det viktigste du må gjøre først, er å få datamaskinen konfigurert klar til bruk av Haxe og NME.

Windows

Å få Haxe og NME oppe kan være litt forvirrende, men jeg har skrevet en omfattende guide på nettstedet mitt for å gå gjennom trinnvis. Gå videre og følg meg å komme i gang med Haxe, NME og FlashDevelop guide nå, og hodet tilbake når du er oppe. Vær oppmerksom på at min guide bruker FlashDevelop, og mens jeg foreslår dette IDE, er det andre, så vær så snill å eksperimentere.

Mac eller Linux

Hvis du ikke kjører en Windows-maskin, har jeg dessverre ikke en omfattende trinnvis veiledning. Når det er sagt, er Haxe kompatibel med begge plattformene, og du finner installatørene og grunnleggende instruksjonene på Haxes nedlastingsside. Hvis du støter på noen spesifikke problemer, foreslår jeg å skumme over min Windows Haxe guide, da det kan kaste litt lys på hva som gikk galt. Hvis det ikke virker, gå videre til delen "Bli med i fellesskapet", og kontakt Haxe via Twitter eller epost for ytterligere støtte.


Kjenn Grunnleggende

Når du har satt opp arbeidsmiljøet ditt, vil du bli kjent med Haxes grunnleggende syntaks. Jeg høyt foreslår at du gjør dette ved å lese Haxe syntaksreferansen.

Hvis du føler deg mer komfortabel med Haxes grunnleggende syntaks, er du nå en svamp som venter på å suge opp all den kunnskapen Haxe har å tilby. På dette punktet foreslår jeg å skumme hele Haxes referanseside, og lese alt og alt som skiller seg ut. Haxes støtteteam har gjort en fantastisk jobb med å bygge deres referansemateriale, og alle som starter ut, bør ha stor nytte av det.


Gå foran, Port noe!

Uansett om du kommer fra AS3, Java eller et annet språk, er porten til Haxe ganske enkelt. Siden Haxe støtter nesten alle funksjoner som det vanlige språket bruker, er du vanligvis bare fast med noen kjedelige syntaxendringer. Når det er sagt, støtter ethvert moderne IDE å finne og erstatte (med FlashDevelop som støtter "Finn og erstatt i filer", målrettet mot hver fil i prosjektet), og med litt tålmodighet kan du få prosjektet ditt på kort tid.

Hvis du har noen prosjekter du føler kan bli portet, foreslår jeg sterkt å gjøre det, da erfaringen du får til å lære den nye syntaksen og feilkoder er ekstremt verdifull. Når du har portet spillet over, kan du til og med gå videre og få spillet til å kjøre på andre plattformer gjennom kraften til NME - en veldig fin belønning for alt ditt harde arbeid. På dette tidspunktet kan du deretter sende inn dine eldre prosjekter til nye plattformer, og potensielt tjene inntekter du aldri så på.


Biblioteker er din venn

Hvis du er noe som meg, elsker du absolutt biblioteker. Selv om jeg er helt i stand til å lage et spill fra begynnelsen, vil jeg hellere bruke et testet og testet, komplett komplett bibliotek. På grunn av den enkle portingen, det voksende samfunnet og Haxes generelle awesomeness, er det ganske mange biblioteker som hjelper med å få jobben gjort.

Haxe kommer med den fantastiske hHaxelib Haxe pakkebehandleren, som holder styr på alle tilgjengelige biblioteker som sendes til sjefen. Dette lar deg søke etter biblioteker fra et enkelt sted, og til og med oppdatere alle installerte biblioteker på datamaskinen din til den nyeste versjonen, ved hjelp av haxelib oppgradering kommandoen innenfor ledeteksten.

Når et nytt bibliotek lastes ned og installeres, må du sørge for at prosjektet ditt inneholder klassebanen til biblioteket. Som forklart i min start-artikkel inneholder alle Haxe-prosjektene en application.nmml fil. I denne filen er det en liten del av koden for klassebaner og haxe libs. Hvis vi lastet ned HaxePunk-biblioteket, og ønsket å inkludere det i prosjektet, ville vi bare legge til følgende i vår application.nmml fil:

Dette gjør at prosjektet vårt vet at vi bruker HaxePunk-biblioteket, som Haxelib Haxe pakkehåndterer kontrollerer. NME er også et bibliotek kontrollert gjennom Haxelib, og derfor ser du følgende i ethvert Haxe NME-prosjekt laget med FlashDevelop.

Akkurat som før, lar dette prosjektet vårt vite at vi bruker NME-biblioteket, som også styres gjennom haxelib. Mens du manuelt kan definere en klassebane for et bibliotek, støttes de fleste større biblioteker gjennom haxelib, og systemet er betydelig mer organisert.

Noen få populære biblioteker

  • HaxePunk - En port av det populære flashbiblioteket FlashPunk. Mens det opprinnelig var en port, vokser den nå for å støtte optimalisert ytelse, spesielt blant de ulike støttede plattformene.
  • Haxe Flixel: En direkte port av det populære Flash-biblioteket Flixel.
  • Nape: En helt fantastisk 2D fysikkmotor som holder den til og med selv mot den populære Box2D.
  • Kong.hx: En kraftig skrevet, direkte port av Kongregate API.
  • NME Tiled: Et bibliotek som gir støtte til den populære fliserbaserte redaktøren, Tiled.

Bli med i Fellesskapet

Haxe har et nytt, men likevel blomstrende samfunn. Mens Haxe fortsatt er ung, vokser den raskt i popularitet. Ved å bli med i Haxe, virket det nesten som om jeg hoppet på bandwagon, fordi overalt jeg så, snakket flere og flere mennesker som jeg visste om Haxe; Dette var rent tilfeldighet selvsagt, men det går bare for å vise at Haxe er på vei oppover.

De fellesskapsmedlemmene jeg har samhandlet med så langt, er flotte. Matt Tuttle gjør en god jobb med å administrere HaxePunk på GitHub, Haxe twitter-kontoene er alltid raske til å svare på tweets, og jeg har sett flere og flere kvalitetshaxe-relaterte blogginnlegg i det siste. Jeg oppfordrer deg sterkt til å bli aktiv i samfunnet, da dette har vært den absolutte beste måten for meg å få hjelp, og hjelpe andre med dette fantastiske språket.

Tweet It Up

Haxe har en rekke Twitter-kontoer som er anstendig aktive, og flere og flere utviklere blir med i samfunnet hver dag. Nedenfor er to offisielle kontoer som jeg sterkt anbefaler at du følger hvis du vil bli i Haxe Twitter-kretsen. Du er velkommen til å tweet dem alle spørsmål du måtte ha, da de er veldig raske til å svare, og har alltid vært hjelpsomme til meg.

  • @haxenme
  • @haxelang

Haxe Google Group

Haxe Google-gruppen ser ut til å være en av de mest aktive stedene på nettet for å spørre et Haxe-relatert spørsmål, og få et raskt svar. Hvis du foretrekker forum over et Twitter-svar, bli med i denne gruppen.


Din fremtid venter ...

Nå som du er utstyrt med evnen til å programmere ved hjelp av Haxe og NME, er det uendelige muligheter for deg som spillutvikler. Med dette ene kraftige språket kan du nå skyve prosjektene dine på tvers av et voksende antall støttede plattformer. Bankkontoen din vil vokse, ditt rykte vil blomstre, og du vil gjøre alt med mindre innsats enn noen gang før.

Jeg håper du har lært mye om Haxe gjennom denne artikkelen, og på vegne av hele Haxe-fellesskapet ser jeg frem til å se deg hjelpe dette fantastiske samfunnet og språket vokse.