Spelprogrammering i Unity - Händelseorienterad programmering
Jag programmerade spelet Snakebyte (Snake) i Unity. Detta skulle jag göra genom att använda händelseorienterad programmering. När jag visade mitt spel och min kod för läraren sa han att jag inte hade förstått vad händelseorienterad programmering innebär (vilket jag kan erkänna att jag inte alls gör.) Kan någon förklara för mig exakt hur det går till och hur man skulle kunna ändra en vanlig kod så att den innehåller händelseorienterad kod så att programmet fortfarande funkar på samma sätt som förut, om det ens är möjligt? På begäran kan jag lägga upp min kod om det behövs. Annars gör jag inte det nu.
Jag skulle inte påstå att jag är någon höjdare på programmering, men vad menar du med händelseorienterad programmering? Tar du ett äpple i snake blir du längre. Räknas inte det som händelseorienterad programmering? I sådana fall är ju svaret if-satser?
Kan du ge ett exempel på vad du menar?
Händelseorienterad programmering baserar sig på just Händelser (Event). Händelser för mus och tangentbord är väl de enklaste exemplen men man kan ju även ha joystick och liknande styrenheter. Vid exempelvis ett musklick på ett objekt anropas en rutin som svarar på vad musklicket ska innebära. Det är alltså ett direkt anrop från en händelsehanterare (Event Handler) och inte någon "if then else" logik. Nu har jag inte sett ditt program och dess uppbyggnad men händelsestyrd programmering (Event Driven Programming) har en speciell uppbyggnad och att ändra till det är nog svårt om din lärare säger som han gör.
Jag skulle föreslå att du söker på de engelska termerna jag skrivit, främst det sista. Det finns mycket bra tips och förklaringar på nätet.
Tack för ditt svar. Har googlat nu när jag vet vad det heter på engelska och hittat förklararingar, som du sa, Förstår bättre nu. Skall kolla med min lärare om han menar att jag skall skriva om alltihop. Suck. Tack igen.
Hej igen
Tydligen behöver man inte skriva om hela koden utan lägga in några händelser på några ställen (enligt min lärare) och använda funktionen SendMessage(...) eller SendMessageUpwards (...). Någon som förstår hur man skall göra?
Med all respekt men jag tror du har gett dig in på något som du inte är påläst på. Programmering är ingen barnlek och det finns inte någon "trycka på knappen-lösning". Jag rekommenderar dig att läsa mer om Unity. Det finns många bra sidor på nätet till exempel denna:
https://unity3d.com/learn/tutorials/topics/scripting/coding-unity-absolute-beginner
Visst, du har helt rätt, jag kan inte det här. Tack för länken.