Monday, April 25, 2011

24 & 25e April

Jag har bytt till C# för enkelhet och hastighet; det verkar ha varit ett bra val, tillsammans med XNA Game Studio.

Som grund använder jag kod från www.xnaresources.com, specifikt deras Star Defense Tutorial Series.

Jag kommer att fokusera på att få ett fungerande spel snarare än att se till att allt är perfekt OOP eller liknande; funktion är viktigast.

För att hålla det simpelt men ändå tillåta kreativitet i leveldesignen använder jag mig av färdigskriven kod från ett Code Sample (Platformer - http://create.msdn.com/en-US/education/catalog/sample/platformer ) från App Hub -- enligt den medföljande licensen. Med den här metoden är banorna enkla textfiler som läses av spelet när de laddas, och fylls med tiles och föremål.

Jag har nästan gjort klart Player-klassen, den som förmodligen kommer att vara mest komplicerad.
Den består av flera animerade sprites (se koden), tillsammans med diverse variabler för att hålla reda på position, uppgraderingar och andra stats.
Den hanterar input, rörelse och kollisioner i stort sett själv. En större del är tagen och modifierad från Platformer-exemplet. Jag har kommenterat de delarna, men kan ha missat några.

Just nu kan spelet ladda en textfil och göra den till en bana, men det finns några problem -- till exempel att spelaren inte kan röra på sig.

Jag tror att det är för att antingen Update eller ApplyPhysics-metoden inte kallas ordentligt; spelarens variabel som hanterar om spelaren den uppdateringen ska röras höger eller vänster förändras när den ska, men spelaren förflyttas inte.
Det är förmodligen ApplyPhysics, då spelaren inte heller inte faller. Det borde vara lätt att fixa.