iPhone-udvikling: Spil-elementer #2 – fingerkontrol
iPhoneguide fortsættet artikelserien om udvikling af spil til iPhonen. Vi starter helt fra bunden så alle kan være med. Det kan dog være en god ide at kigge på nogle af de tidligere artikler om iPhone-udvikling, da jeg ikke vil forklare alle de centrale begreber en gang til. Artikelserien er bygget anderledes op end de andre; i stedet for at ende med et færdigt program, vil jeg i en række kortere artikler beskrive nogle af de delelementer, der hver især kan bruges til at lave et spil med. Dette vil gøre eksemplerne mere uafhængige af hinanden så vi kan komme længere omkring. Til sidst vil jeg så evt. kombinere de mange delelementer og lave et færdigt spil.
Sidste gang kigge vi på bevægelse af grafik og denne gang skal vi kigge på hvordan man kan styre grafik via bruger-input.
Jeg vil komme ind på tre forskellige grundlæggende metoder, der alle kan anvendes til mange forskellige ting også andet end spil. Når man har fået styr på dem og sidste uges emne, er man meget tæt på at kunne lave et regulært spil.
De tre metoder er:
1) Via fingeren
2) Via knapper på skærmen
3) Via accelerometeret
Vi starter med nummer 1 i dag og går videre med nummer 2 næste gang.
Mulighederne er uendelige, så det er bare med at komme i gang. I denne artikel er der lagt vægt på eksemplet og ikke et konkret projekt, grafikken er derfor nedprioriteret, for at holde fokus på metoden.
Fremgangsmåden er faktisk så simpel at jeg håber at nogle af dem der læser med, men ikke tidligere har forsøgt sig med iPhone-udvikling, vil kaste sig over det.
Er du helt ny så læs følgende artikel, der beskrever hvordan du kommer i gang med at lave programmer til iPhonen: “I gang med iPhone-udvikling“.
Nu får vi bedre mobildækning
Fart hen over skrivebordet
Nu åbner Sonosguide.dk
Populær iPhone-app har kopieret alle dine kontakter.
Se Paul McCartney-koncert direkte med Apple TV
Apple leder efter udviklere til iPad 3-event
iPad 3-event i starten af marts?
Fotos af bagsiden til iPad 3 tyder på større batteri
Indviklet fodring af festlige pingviner
iPads på menuen
Tips: Flere muligheder for at ændre størrelsen på et vindue
FBI frigiver baggrundstjek på Steve Jobs fra 1991
Lion-gendannelse flere Mac’s
Apple snart klar med ny effektiv Macroscalar-processorteknologi?
Nye pegeikoner kan være hint om Mac’s med Retinaskærm
Rygterne om Apple fjernsyn tager til
Genius-funktion er kommet til Apple TV
Munster: Apple er i dialog med producenter af TV-komponenter
Spar 300 kroner på en Apple TV i Fona
Emojet
Jeg har nu tilføjet en label til mit program der siger “Tryk på skærmen for at få bolden i bevægelse”
Når man så rører ved skærmen begynder bolden at gøre ligesom i dit eksempel.
6. maj 2009 @ 16:05
Martin
Dvs. at bolden bevæger sig mod fingeren?
6. maj 2009 @ 16:36
Emojet
Nej, den bevæger sig ligesom i dit eksempel, men der er en label når man starter programmet op der så forsvinder når man rører ved skærmen.
6. maj 2009 @ 19:55
Emojet
Undskyld, jeg mener ligesom i dit forrige eksempel “bevægelse af grafik”.
Btw god artikel
6. maj 2009 @ 19:56
Emojet
Er det muligt at styre to objekter rundt med fingeren, ved at bruge de samme metoder som i dit eksempel?
Jeg har selv prøvet, ved at skrive hele baduljen igen, men programmet crasher ligeså snart man rører skærmen.
Kender du evt. Andre metoder man kan bruge til at flytte objekter rundt på skærmen?
11. maj 2009 @ 21:56
Martin
@Emojet
Mener du, at styre to objekter så de bevæger sig uafhængigt at hinanden med to fingre? Jeg har ikke prøvet, men det må kunne lade sig gøre.
Jeg har i en anden artikel beskrevet en anden metode til at flytte objekter med.
11. maj 2009 @ 23:26
Emojet
Ja, det var det jeg mente
Hvad for en artikel var det?
12. maj 2009 @ 09:43
Martin
@Emojet
http://iphoneguide.dk/nyheder/iphone-udvikling-spilelementer-3-knapkontrol/
12. maj 2009 @ 10:51
Nielsen
Ved godt det sikkert er meget basal med hvorfor bruger man * ved *touch og ikke ved location er det ikke pointer begge to?? kan en eller anden forklere mig dette, gerne bøjet i neon
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
12. maj 2009 @ 11:15
Michael A.
På side 5, skal det så ikke være i Spil2ViewController.m og ikke h?
28. juni 2009 @ 19:23
Martin
Tak, det er rettet nu.
28. juni 2009 @ 19:33
Michael A.
Mange tak
28. juni 2009 @ 19:36
Michael A.
Jeg har et problem. Hvor skal jeg placere touchesMoved henne i spil2ViewController.h?
28. juni 2009 @ 19:44
Martin
Nu blev vi lige enige om at den skulle være i -m-filen.
Det er ligegyldigt. Den skal bare være et sted. Selvfølgelig ikke i en anden funktion.
28. juni 2009 @ 20:50
Michael A.
Det var lige mig der lavede en fejl
Jeg mener selfølgelig grafik.center = CGPointMake(location.x,location.y);
28. juni 2009 @ 20:52
Michael A.
Hvor skal det hen?
28. juni 2009 @ 20:55
Michael A.
Forresten, så skal du nok også lige rette det på side 7. Der står der også spil2ViewController.h
28. juni 2009 @ 20:56