Tisdag 22 Dec 2015
2015-12-22 14:18:20

Flappy Andersson

Så, börjar snart bli klar med "Flappy Andersson", fattas bara lite roliga bilder på spelarna & lite andra bilder till "poängstjärnor", tänkte det vore roligt att kasta in massa roliga bilder i spelet mellan pelarna, lite slumpmässigt & om spelaren träffar en av dessa stjärnor med dom roliga bilderna så får dom 5 extra poäng. Men iaf, först, fixa in morsans, Mias, farsans & mitt huvud i spelet istället för fågeln
Ser lite skumt ut men vafan, detta är ju inte tänkt att vara det absolut i särklass bästa spelet ever utan bara en rolig grej som jag kan ge bort på julafton :P Har fixat ihop lite statistik osv på servern, PHP & Redis, passar riktigt bra till just statistik & highscores. Problemet är att Swift, återigen, har sina egenheter som gör saker svårare än vad det skall vara. Tex så får jag ju JSON från servern som sen skall behandlas i Swift, men vanilla Swift hatar JSON, speciellt när man stackar JSON "arrayer", då får man hålla på & unwrappa hur många gånger som helst i Swift & råkar man unwrappa en NIL så krashar spelet, tack för det. Gör man samma sak i PHP så ignoreras bara "felet", eller ja, kanske inte ignoreras men värdet blir då NULL istället & man kan fortsätta köra vidare i sitt program. Helt idiotiskt att Swift krashar spelet, den borde bara skicka ett felmeddelande istället. Men nepp, man måste på egen hand programmera in error handling, det blir ganska snabbt överdrivet stort när man bara vill hämta lite highscores från en server. Så, att behandla JSON i PHP tar bara ett par rader jättekort kod, i Swift tar det 19203920 miljarder rader & lika mycket kod som i bibeln, till ingen nytta. Så SwiftyJSON till räddningen, SwiftyJSON är PRECIS så som Swift borde varit från första början, sköter felhanteringen helt på egen hand utan att man behöver oroa sig allt för mycket.
3'171 visningar #Programmering #Swift
Måndag 21 Dec 2015
2015-12-21 22:32:03

Flappy Andersson

Ok, dags för lite mer Flappy Andersson, inte långt kvar till julafton & är en jäkla massa mer att göra, eller ja, det är ju spelbart just nu men vill åtminstone ha en scoreboard så att vi alla kan tävla mot varandra, sen kanske någon medalj för 1:a, 2:a & 3:e plats. Finns lite småbuggar med som jag måste räta ut. Lade till lite rök när man dör
Röken var väldigt lätt att lägga till, Xcode har ju ett inbyggt stöd för att skapa egna emitter nodes, finns ju en hel uppsjö av variabler man kan skräddarsy för att få saker att se ut precis så som man vill. Röken passar egentligen inte in i det övriga utseendet av spelet men tänkte det var lite skoj ändå. Problemet med röken var ju att istället för att ha animerade texturer (kommer inte använda fågel bilden ändå) så valde jag att rotera spelaren istället, roterar ganska sakta i början & ju fler pelare man passerar ju snabbare snurrar gubben, precis samma som att spelet går snabbare ju fler pelare man passerar. MEN, eftersom rök emittern är en child av player spriten så får den samma egenskaper som player spriten, alltså roterar emitter noden i samma takt som player spriten, så om man dör medans man är uppochner så ryker röken neråt, rakt ner i backen, det passar lixom inte ihop med fysiken & ser sjukt konstigt ut. Finns 1'000 sätt att lösa detta på, jag valde det enkla & lade till en rotations animation på min emitter node, fast åt motsats håll som player spriten. Inte det mest eleganta men det fungerar ju. Nästa sak att tackla var ju scoreboarden & jösses, Apple måste hata text i SpriteKit, man sliter ur sig håren för jösses, jösses, shiet, komigen Apple, varför skall det vara så svårt att använda sig av text i SpriteKit? Det är idiotiskt svårt. Testade allt möjligt, SKLabelNode, UITextField, UILabel osv osv men alla hade för & nackdelar. UITextField är ju det jag är ute efter, åtminstone när det gäller själva layouten & positioneringen MEN trots att det går att stänga av mycket av user interaction för text fältet så går det inte stänga av HELT & hållet, går fortfarande markera & kopiera text, detta lagret ligger överst i spelet, så jag använder ju en tap för att starta om spelet, tappar man då inom scoreboarden så startar inte spelet om utan istället får man upp UI:n för att markera texten. Sjukt störande.
GAH!!!!!!!!!11111ettettett Men nepp, får göra en SKLabelNode för varje användare & lägga till i scenen, men ja, jo, detta fungerar ju som det är tänkt men ibland kanske man vill ha mer än en rad, vilket SKLabelNode inte tillåter så fick nöja mig med en rad för varje score. Hade egentligen viljat ha själva poängen i en annan storlek & position men nepp, går ju inte då, visst, går lägga till fler, i mitt fall hade jag då behövt tre st SKLabelNodes per rad & det orkar jag inte fixa till. Jag är ju lite bortskämd eftersom jag kommer från PHP, HTML & CSS där samma sak är SJUKT enkelt, tar mindre än en minut att fixa till, med olika fonter, olika text storlekar, olika textfärger osv osv osv osv men i Swift & SpriteKit, glöm det, det är ett evighetsprojekt. Fixade poängräkningen också så nu får man inte massa extrapoäng om man kraschar in i en pelare på samma ställe som poängräknar grejer är
1'963 visningar #Programmering #Swift
Fredag 18 Dec 2015
2015-12-18 23:45:00

Flappy Andersson

Så ett av mina nyårslöften förra året, eller ja, för detta året var ju att lära mig ett nytt programmeringsspråk, nämligen Swift, men det har lixom inte riktigt blivit av, på gott & ont, det "gotta" var ju att Swift 2 lanserades vilket förenklade väldigt mycket saker, nu är Swift sjukt långt ifrån Objective-C, Swift "1" hade ju endel skumma grejer kvar från Obj-C, eller ja, åtminstone grejer som påminde & som inte kändes så modernt. Men iaf, nu börjar ju året ta slut så kanske är dags att bita i det sura äpplet & köra igång. Japp, så i dom flesta andra programmeringsspråken så har det blivit rätt poppis att det första man gör är en kalkylator, när det gäller Swift så har det lixom blivit standard att göra en remake av Flappy Bird. Finns ju en hel drös med tutorials för just Flappy Bird, innehåller mycket nyttiga grundläggande saker som man behöver lära sig. Så ja, jag börjar det med, men gör det lite personligare, varför inte göra en Flappy Bird & ge familjen var sitt personligt anpassat spel som julklapp? Flappy Andersson :D Var relativt enkelt att knåpa ihop något som åtminstone påminner om Flappy Bird
I den guiden jag använda mig av hade ingen poäng räkning så fick mecka ihop det själv, detta introducerade en jäkla massa buggar, tex om man passerade det röda sträcket helt rent så räknades bara ett poäng, precis som det skulle göra, men ibland så om man kraschar in mot pelaren när man är halvvägs igenom det röda sträcket så kunde det ibland göra så att man av någon anledning fick typ 12 poäng extra, samma poäng räknades alltså en massa gånger, det är ju inte så bra, så det är något jag får lösa imorgon. Måste även fixa kollision för "taket" & marken
1'744 visningar #Programmering #Swift