Haxe (uttalad "Hex"), är ett open source multiplattformsspråk som kan sammanställa till olika språk, inriktning på Windows, Flash Player, WebOS, Android, Blackberry och HTML5 (i beta vid skrivningstid). NME, som går hand i hand med Haxe, är biblioteket som möjliggör denna fantastiska plattformsaktivitet.
Medan denna artikel är inriktad mot dem med programmering och spelutvecklingserfarenhet, tillhandahåller den de verktyg och resurser som behövs för någon med liten eller ingen erfarenhet att komma igång med Haxe som sitt första språk. I den här artikeln ska jag berätta varför ska använda Haxe, hjälpa dig att få Haxe och NME att köra på din maskin, peka på några av de bästa lärmaterialen där ute och hjälpa dig att få din fot i dörren med Haxe gemenskap.
relaterade inläggOm du är involverad i programmering eller spelutveckling, eller kanske till och med bara spendera mycket tid på internet, har du hört frasen "Flash är döende". Jag kommer inte att slösa någons tid med den debatten just nu, men tanken är relaterad till min nästa tanke. Som spelutvecklare, speciellt en som bara har gjort pengar genom Flash-spel hittills, var denna fras måttligt relaterad till mig.
Jag ska nu säga att jag inte är övertygad om att Flash är död, eller kommer snart att bli död, men jag ville fortfarande ha en reservplan. Jag har nu hittat ett svar på mina bekymmer: Haxe.
Jag har alltid velat arbeta med andra plattformar förutom Flash, men det arbete som krävs för att byta har alltid tyckt för stort för att motivera eller ta itu med. Haxe ändrar allt detta. Som språk är Haxe nästan identisk med AS3-koden som jag har skrivit i flera år. Ännu bättre, FlashDevelop (min redaktör för val för Flash-spel) har fantastiskt stöd för Haxe, så jag behöver inte ens bekanta mig med en ny IDE. Inte bara ger Haxe mig säkerhet att inte förlita mig på Flash längre, det gör det också möjligt för mig att rikta in sig på nya plattformar.
Tidigare har targeting av flera plattformar alltid varit en enorm smärta, till den punkt där jag vanligtvis låtsas att alternativet inte existerar. Du måste antingen porta din kod till ett nytt språk (en du kanske eller kanske inte vet redan vet), eller handla om någon som är försökt och bevisad att göra det för dig. Jag har sålt mobila rättigheter till ett av mina spel innan, men även efter en förskottsbetalning till mig gick spelet aldrig.
Med Haxe kan du exportera till olika plattformar genom att helt enkelt ändra en rullgardinsmeny och lägga till en liten bit villkorlig kod för att upptäcka plattformen och ändra inställningar som helskärmsläge. Det är inte att säga att du inte ibland måste träna några få kinks, men från jag har läst, och den lilla erfarenheten jag har har sagt att kinks är knappast värda att nämna.
Det viktigaste du behöver göra först är att få din dator redo att använda Haxe och NME.
Att få Haxe och NME igång kan vara lite förvirrande, men jag har skrivit en omfattande guide på min hemsida för att gå igenom steg för steg. Gå vidare och följ min start med Haxe, NME och FlashDevelop guide nu och gå tillbaka över när du är igång. Observera att min guide använder FlashDevelop, och medan jag starkt föreslår denna IDE finns det andra, så gärna experimentera.
Om du inte kör en Windows-maskin har jag tyvärr inte en omfattande stegvis guide. Med det sagt är Haxe kompatibel med båda plattformarna, och du kan hitta installatörer och grundläggande instruktioner på Haxes nedladdningssida. Om du stöter på några specifika problem föreslår jag att skimming över min Windows Haxe guide, eftersom det kan kasta lite ljus på vad som gick fel. Om det inte fungerar, gå vidare till avsnittet "Gå med i gemenskapen" och kontakta Haxe via Twitter eller e-post för ytterligare support.
När du har skapat din arbetsmiljö, vill du bekanta dig med Haxes grundläggande syntax. jag i hög grad föreslår att du gör det genom att läsa Haxe Syntax Reference.
Om du känner dig mer bekväm med Haxes grundsyntax, är du nu en svamp som väntar på att njuta av all den kunskap som Haxe har att erbjuda. Vid denna tidpunkt föreslår jag att skimming hela Haxes referenssida, och läser allting som står ut för dig. Haxes supportteam har gjort ett fantastiskt jobb med att bygga sitt referensmaterial, och vem som helst ska börja använda det bra.
Oavsett om du kommer från AS3, Java eller något annat språk, är porten till Haxe ganska lätt. Eftersom Haxe stöder nästan alla funktioner använder det vanliga språket, är du vanligtvis bara fast med några tråkiga syntaxförändringar. Med detta sagt, stöder alla moderna IDE-hitta-och-ersätt (med FlashDevelop stödja "Sök och ersätt i filer", riktade mot varje fil i ditt projekt) och med lite tålamod kan du få ditt projekt portat på nolltid.
Om du har några projekt du känner kan vara portad, föreslår jag starkt att du gör det, eftersom erfarenheten får du att lära dig den nya syntaxen och felkoderna är mycket värdefulla. När du har spelat över spelet kan du till och med fortsätta och få ditt spel att springa på andra plattformar genom kraften i NME - en mycket bra belöning för allt ditt hårda arbete. Vid den här tiden kan du sedan skicka in dina äldre projekt till nya plattformar och potentiellt tjäna några intäkter som du aldrig såg.
Om du är något som jag älskar du absolut bibliotek. Medan jag perfekt kan skapa ett spel från början, skulle jag hellre använda ett testat och funktionellt bibliotek. På grund av den lätta porten, det växande samhället och den övergripande awesomenessen av Haxe finns det en hel del bibliotek som hjälper till att få jobbet gjort.
Haxe kommer med den fantastiska hHaxelib Haxe-pakethanteraren, som håller reda på alla tillgängliga bibliotek som skickas till chefen. Det här låter dig söka efter biblioteken från ett bra läge och uppdatera även alla installerade bibliotek på din dator till sin senaste version, med hjälp av haxelib uppgradering
kommando inom kommandotolken.
När ett nytt bibliotek laddas ned och installeras måste du se till att ditt projekt innehåller klassbana i det biblioteket. Som förklaras i min kommande artikel innehåller alla Haxe-projekt en application.nmml
fil. I den här filen finns en liten del av kod för klassvägar och haxe libs. Om vi hämtade HaxePunk-biblioteket och ville inkludera det i vårt projekt, skulle vi helt enkelt lägga till följande i vår application.nmml
fil:
Detta låter vårt projekt veta att vi använder HaxePunk-biblioteket, som Haxelib Haxe-paketchefen kontrollerar. NME är också ett bibliotek kontrollerat via Haxelib, vilket är anledningen till att du ser följande i något Haxe NME-projekt skapat med FlashDevelop.
Precis som tidigare, så låter vårt projekt veta att vi använder NME-biblioteket, som också hanteras via haxelib. Medan du manuellt kan definiera en klassväg för ett bibliotek, stöds de flesta större biblioteken via haxelib, och systemet är betydligt mer organiserat.
Haxe har en ny, men ändå blomstrande gemenskap. Medan Haxe fortfarande är ung, växer den snabbt i popularitet. När han gick med i Haxe såg det nästan ut som om jag hoppade på vagnen, för överallt såg jag allt fler som jag visste talade om Haxe; Det var naturligtvis en ren tillfällighet, men det visar bara att Haxe är på väg upp.
De samhällsdeltagare jag har interagerat med hittills är stora. Matt Tuttle gör ett bra jobb med att hantera HaxePunk på GitHub, Haxe twitter-kontona är alltid snabb att svara på tweets, och jag har sett mer och mer kvalitetshaxe-relaterade blogginlägg nyligen. Jag uppmanar dig starkt att bli aktiv i samhället, eftersom det här har varit det absolut bästa sättet att få hjälp och hjälpa andra med detta fantastiska språk.
Haxe har ett antal Twitter-konton som är anständigt aktiva, och fler och fler utvecklare går med i samhället varje dag. Nedan finns två officiella konton som jag starkt föreslår att du följer om du vill stanna i Haxe Twitter-loopen. Känn dig fri att tweeta dem med alla frågor du kanske har, eftersom de är väldigt snabba att svara och har alltid varit till hjälp för mig.
Haxe Google-gruppen verkar vara en av de mest aktiva platserna på nätet för att fråga en Haxe-relaterad fråga och få ett snabbt svar. Om du föredrar forum över ett Twitter-svar, gå med i den här gruppen.
Nu när du är utrustad med förmågan att programmera med Haxe och NME, finns det oändliga möjligheter för dig som spelutvecklare. Med det här kraftfulla språket kan du nu driva dina projekt över ett växande antal stödda plattformar. Ditt bankkonto växer, ditt rykte kommer att blomstra, och du kommer göra allt med mindre ansträngning än någonsin tidigare.
Jag hoppas att du har lärt mig en hel del om Haxe genom den här artikeln, och på Haxes gemenskaps vägnar ser jag fram emot att se dig hjälpa denna fantastiska gemenskap och språk växa.