RSS

Dev Tutorial: Eigenes Spiel Part 3

  • Geschrieben von grafele 19 Comments
    : 12. Okt 2009 6:05
    Dev Tutorial: Eigenes Spiel Part 3

    Weiter gehts mit dem dritten Teil unserer Tutorial Serie zum Thema Spieleentwicklung auf dem iPhone. Wenn ihr Teil 1 und Teil 2 noch nicht gelesen habt, dann macht es nun. Das Spiel was wir entwickeln werden wird nicht umbedingt groß, aber man lernt trotzdem sehr viel draus und es wird auch in den App Store kommen. Somit ist es eines der ersten Programme die komplett Open Source und auch noch genau erklärt sind.

    • Wir gehen in die .h Datei und ändern die @interface Zeile:

    @interface Fall_BallViewController : UIViewController <UIAccelerometerDelegate> {

    • Das brauchen wir um die Accelerometer Funktionen nutzen zu können.
    • In der viewdidload Funktion fügen wir diese Zeilen hinzu:

    UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer];
    accel.delegate = self;
    accel.updateInterval = 1.0f/120.0f;

    • Diese Zeilen starten das Accelerometer und definieren das Zeitinterval in der die Position abgefragt wird.
    • In der gameloop Funktion fügen wir diese Zeilen hinzu:

    if(CGRectIntersectsRect(ball.frame, mauer1.frame)) {
    if(ball.center.x -15 <= loch1.center.x – 62 || ball.center.x +15 >= loch1.center.x + 62) {
    ball.center = CGPointMake(ball.center.x, position1 + 23);
    }
    }

    if(CGRectIntersectsRect(ball.frame, mauer2.frame)) {
    if(ball.center.x -15 <= loch2.center.x – 62 || ball.center.x +15 >= loch2.center.x + 62) {
    ball.center = CGPointMake(ball.center.x, position2 + 23);
    }
    }

    if(CGRectIntersectsRect(ball.frame, mauer3.frame)) {
    if(ball.center.x -15 <= loch3.center.x -62 || ball.center.x +15 >= loch3.center.x + 62) {
    ball.center = CGPointMake(ball.center.x, position3 + 23);
    }
    }

    • Wir schauen uns diese Zeilen mal genauer an. In der ersten Zeile haben wir eine Kollisionabfrage. Es fragt ab ob der Ball auf der Mauer(Die Mauer ist auch das Loch – das Loch ist nur ein Bereich der Mauer). Ist dies der Fall schauen wir ob der Ball außerhalb des Loches ist. Ist auch dies der Fall soll sich der Ball mit der Mauer nach unten bewegen. Die Mauer schiebt also den Ball nach unten.
    • Nun wollen wir auch den Ball bewegen. Dazu fügen wir eine neue Funktion hinzu:

    - (void)accelerometer:(UIAccelerometer *)acel didAccelerate:(UIAcceleration *)aceler {
    if (ball.center.x > 0 && ball.center.x < 320) {
    ball.center = CGPointMake(ball.center.x + aceler.x*8, ball.center.y – aceler.y*8);
    }
    if (ball.center.x <= 0 && aceler.x > 0) {
    ball.center = CGPointMake(ball.center.x + aceler.x*8, ball.center.y – aceler.y*8);
    }
    if (ball.center.x >= 320 && aceler.x < 0) {
    ball.center = CGPointMake(ball.center.x + aceler.x*8, ball.center.y – aceler.y*8);
    }
    }

    • Diese Funktion soll den Ball bewegen. Dabei gehen wir von 3 verschiedenen Situationen aus. In der ersten gehen wir davon aus dass der Ball im Bildschirmbereich ist. Im zweiten Fall gehen wir davon aus, dass der Ball am Ende ist und so kontrollieren wir ob das Accelerometer einen positiven Wer gibt. Der Ball soll nur in den Bildschirm und nicht weg davon bewegt werden. Im dritten Fall komplett das selbe, nur auf der anderen Seite.

    Schluss für dieses mal. Das nächste mal machen wir Scores in die App, sowie einen Game Over View mit Restart Funktion.

Werbung

  1. #1 melonenkopf says:
    12. Oktober 2009 um 12:42

    Och mann jetzt heult doch nicht rum weil da ein Tippfehler ist!
    Seit wenigstens froh, dass grafele sich die Mühe macht für die Leser so ein Tutorial zu schreiben!
    Ich finde es Top was er macht und ihr könntet mal lieber dankbar sein.

    Antworten
  2. #2 daveX says:
    12. Oktober 2009 um 12:48

    Leute, warum lobt ihr nicht mal, dass das ein gutes Tutorial ist, anstatt euch das Maul darüber zu zerreissen, dass es falsch geschrieben ist.
    Wenn ich mir eure Grammatik und Rechtschreibung angucke, krieg’ ich manchmal echt das Kotzen.
    Naja, trotzdem ein gutes Tutorial ;-)

    Antworten
  3. #3 blubber says:
    12. Oktober 2009 um 12:49

    nice tut, mach weiter so :D

    Antworten
  4. #4 simon says:
    12. Oktober 2009 um 12:56

    Er macht die ganze scheiß Arbeit für euch und dann sagta “da sehet totarial” wenn einer ein viele besseres Tutorial machen kann der darf da rüber lachen und wer es nicht kann sollte besser mal die fresse halten !
    Traurig das es solche Leute geben muss :-( .

    Antworten
  5. #5 grafele says:
    12. Oktober 2009 um 14:55

    So Leute jetzt seit ihr mal gefragt. Was benutzen wir um die Highscores zu nutzen?

    mfg grafele

    Antworten
  6. #7 iPortable says:
    12. Oktober 2009 um 15:43

    gibts am ende das ganze projekt nochmal zum download?

    Antworten
  7. Hab mal ne Frage..
    Hab grade meine ECID ausgelesen und wollte nun fragen wie ich diese ECID Datei bekomme denn purplera1n funktioniert irgendwie nicht mehr..
    Und was mache ich dann wenn ich die Datei habe um mein iPhone 3Gs von 3.1 Custom auf 3.0 zurückzusetzen??

    Danke

    Antworten
  8. #9 iPottie says:
    12. Oktober 2009 um 16:04

    wird mich auch interessieren ob das game noch als download kommt

    Antworten
  9. #10 grafele says:
    12. Oktober 2009 um 16:20

    Das Game wird es am Ende im App Store geben ist aber Open Source. Jeder kann den Source Code downloaden.

    Antworten
  10. #11 Martin Wallner says:
    12. Oktober 2009 um 16:38

    Kann bitte jemand die “Fall Ball” Datei hochladen und den link hier posten (die datei die den app nahmen hat….)
    thx
    bei mir klappt da was nicht und ich würds mir gerne in ner “fertigen” app anschauen wie das gemacht wurde…

    Antworten
  11. #12 Martin Wallner says:
    12. Oktober 2009 um 16:46

    wo hast du das eig gelern grafele?

    PS: WO IST DIE VIEWLOAD FUNKTION ZU FINDEN?!

    Antworten
  12. #13 drexen says:
    12. Oktober 2009 um 16:47

    sehr geiles tutorial, gute idee das ihr sowas anbietet, hochachtung!

    Antworten
  13. #14 Simon says:
    12. Oktober 2009 um 17:10

    Würde es gerne machen brauch aber die Bilder !!!

    Antworten
  14. #17 simon says:
    12. Oktober 2009 um 18:16

    Schon gut

    Antworten
  15. #18 grafele says:
    12. Oktober 2009 um 18:55

    Kleine Vorschau zu FallBall. http://twitpic.com/l9iz7
    http://twitpic.com/l9iz8
    http://twitpic.com/l9iz4

    Antworten
  16. kostet es was sich als devolper zu registrieren um die iphone sdk runter zu laden?

    Antworten
Schreibe einen Kommentar