RSS

Dev Tutorial: Eigenes Spiel Part 1

  • Geschrieben von grafele 32 Comments
    : 9. Okt 2009 19:19
    Dev Tutorial: Eigenes Spiel Part 1

    Heute beginne ich mit einer Serie. Ich werde mit euch gemeinsam ein Spiel erstellen nach dem Vorbild von FallBall.

    • Startet XCode und macht eine neue View-Based Application mit dem Namen “Fall Ball”.
    • Fügt diese Dateien hinzu.
    • Öffnet die Fall_BallViewController.xib und macht alles was in dem Video passiert.
    • Nun wechselt zu XCode und unkommentiert die viewdidload Funktion. Ändert den Code folgendermaßen:

    - (void)viewDidLoad {
    mauer1.center = CGPointMake(mauer1.center.x, -60);
    mauer2.center = CGPointMake(mauer2.center.x, 160);
    mauer3.center = CGPointMake(mauer3.center.x, 360);

    loch1.center = CGPointMake(loch1.center.x, -60);
    loch2.center = CGPointMake(loch2.center.x, 160);
    loch3.center = CGPointMake(loch3.center.x, 360);
    [super viewDidLoad];
    }

    • Dieser Code ändert die Positionen der Bilder. Wir bringen sie nun in eine günstige Position.
    • Fügt nun diese Funktion hinzu:

    -(void)gameLoop {

    }

    • Den Inhalt definieren wir später. Nun zum Aufruf.
    • Jetzt fügen wir der viewdidload Funktion diese Zeile hinzu:

    [NSTimer scheduledTimerWithTimeInterval:0.04 target:self selector:@selector(gameLoop) userInfo:nil repeats:YES];

    • Hier wird ein Timer gestartet und der wiederrum startet alle 0,04 Sekunden die gameLoop Funktion. Dies verschafft uns einen Spielfluss.
    • Jetzt wechseln wir wieder in die .h Datei. Ändere den Code folgendermaßen:

    #import <UIKit/UIKit.h>

    @interface Fall_BallViewController : UIViewController {
    IBOutlet UIImageView *ball;
    IBOutlet UIImageView *loch1;
    IBOutlet UIImageView *loch2;
    IBOutlet UIImageView *loch3;
    IBOutlet UIImageView *mauer1;
    IBOutlet UIImageView *mauer2;
    IBOutlet UIImageView *mauer3;

    NSInteger position1;
    NSInteger position2;
    NSInteger position3;
    NSInteger v;
    }

    @property (nonatomic) NSInteger position1;
    @property (nonatomic) NSInteger position2;
    @property (nonatomic) NSInteger position3;
    @property (nonatomic) NSInteger v;
    @end

    • Wir haben hier nun 4 neue Variablen dafiniert. Zum einen 3 positionen (die brauchen wir für die Mauern und die Löcher) und eine Variable v die für Geschwindigkeit steht.
    • In der .m Datei müssen wir noch diese Zeile unter der implentation Zeile einfügen:

    @synthesize v, position1, position2, position3;

    • Jetzt werden wir diese Variablen dafür nutzen. Viewdidload wiederum so verändern:

    - (void)viewDidLoad {
    position1 = -40;
    position2 = 160;
    position3 = 360;
    mauer1.center = CGPointMake(mauer1.center.x, position1);
    mauer2.center = CGPointMake(mauer2.center.x, position2);
    mauer3.center = CGPointMake(mauer3.center.x, position3);

    loch1.center = CGPointMake(loch1.center.x, position1);
    loch2.center = CGPointMake(loch2.center.x, position2);
    loch3.center = CGPointMake(loch3.center.x, position3);

    [NSTimer scheduledTimerWithTimeInterval:0.04 target:self selector:@selector(gameLoop) userInfo:nil repeats:YES];

    [super viewDidLoad];
    }

    Weiter geht es das nächste mal. Da werden wir das Spiel bewegen und die Hindernisse zu solchen werden lassen.

Werbung

  1. #1 ! says:
    9. Oktober 2009 um 19:22

    Hm cool?

    Ich weiss nich ob ich zeit und lust dazu hab es zu machen *G*

    Antworten
  2. #2 Master0077 says:
    9. Oktober 2009 um 19:36

    Hat ja auch niemand gesagt…

    Antworten
  3. #3 Martin Wallner says:
    9. Oktober 2009 um 19:52

    mach ich morgen in deer früh

    Antworten
  4. #4 Vladi says:
    9. Oktober 2009 um 20:14

    Ah man hat meinen Kommentar von der letzten Folge wahrgenommen!
    Dankeschön!

    Antworten
  5. #5 rapid-beasts.xxpro.net says:
    9. Oktober 2009 um 20:45

    geiiiil reeeeeeesssssppppppeeeeeekkkkkttttt gilo oder grafele oder wer das gemacht hatt einfach respekt;);) ich werde heute oder morgen anfangen ein game zu machen :) :)

    Antworten
  6. #6 grafele says:
    9. Oktober 2009 um 20:51

    Ja es bin ich gewesen^^ Part 2 ist fast fertig. Kommt dann morgen.
    Ihr könnt mich gerne unterstützen indem ihr über diesen Link Dropbox holt (ist gratis, sogar mit 250 mb extra zu den 2gb dazu):
    https://www.getdropbox.com/referrals/NTIyMzk5MjY5

    Oder mir auf Twitter followed:
    http://twitter.com/grafcoding

    Antworten
    • #7 rapid-beasts.xxpro.net says:
      9. Oktober 2009 um 20:58

      lol dropbox war für mich früher ned so bekannt aber seit es die app für iphone gibt benutze ich dropbox:):)

      Antworten
  7. #8 tr33 says:
    9. Oktober 2009 um 21:12

    wie krieg ich da des Class Outlets?bei files owner

    Antworten
  8. #9 grafele says:
    9. Oktober 2009 um 21:18

    Siehe Video. Du machst die Outlets im Interface Builder und ziehst die dann in die .h Datei rein,

    Antworten
  9. #10 tr33 says:
    9. Oktober 2009 um 21:21

    wie? ich mein der Punkt Class outlets fehlt bei mir, dieser baustein fehlt

    Antworten
  10. #11 grafele says:
    9. Oktober 2009 um 21:23

    Vielleicht nur minimiert. Was ist da zwischen Class Actions und Interface Builder Indentity?
    Screenshot wäre nicht schlecht.

    Antworten
  11. #12 tr33 says:
    9. Oktober 2009 um 21:24

    der punkt unter fall ball identify

    Antworten
  12. #13 tr33 says:
    9. Oktober 2009 um 21:25

    wo sell ich screenshot uploaden?

    Antworten
  13. #14 grafele says:
    9. Oktober 2009 um 21:26

    auf imageshack.us oder twitpic oder sonst wo.

    Antworten
  14. #15 tr33 says:
    9. Oktober 2009 um 21:29

    http://www.flickr.com/photos/4.....550455542/

    Antworten
  15. #16 grafele says:
    9. Oktober 2009 um 21:32

    Mach Doppelklick auf Files Owner.

    Antworten
  16. #17 tr33 says:
    9. Oktober 2009 um 21:34

    passiert nix

    Antworten
  17. #18 grafele says:
    9. Oktober 2009 um 21:39

    Hast du Teamviewer?

    Antworten
  18. #19 tr33 says:
    9. Oktober 2009 um 21:40

    ich lads mir schnell runter

    Antworten
  19. #20 tr33 says:
    9. Oktober 2009 um 21:41

    okay ive got it

    Antworten
  20. #21 grafele says:
    9. Oktober 2009 um 21:42

    Schick mir Code per mail:

    Antworten
  21. #22 tr33 says:
    9. Oktober 2009 um 21:43

    geschickt!

    Antworten
  22. #23 grafele says:
    9. Oktober 2009 um 21:45

    Passwort ist falsch…

    Antworten
  23. #24 simon says:
    10. Oktober 2009 um 00:41

    das alles muss man schreiben um ein app zu machen !
    Und dann gibt es leute die das app illigal hollen :-(

    Antworten
    • #25 Gi-lo says:
      10. Oktober 2009 um 14:01

      Um eine kleine App zumachen… Mittlerweile ist es viel Arbeit sich im AppStore durchzusetzen … aber auch gegen die cracker :/ Das “Quick Rich” system funktioniert im AppStore nicht (mehr).

      Antworten
  24. #26 Hanfrey says:
    10. Oktober 2009 um 17:54

    Wie hastn du nun die Class outlets hinbekommen? Hab die nämlich auch nit?

    Antworten
  25. #27 grafele says:
    10. Oktober 2009 um 21:15

    Es war so dass sich die bei XCode 3.2 verschoben haben. Sie sind nun in der Library. Google einfach mal.

    Antworten
  26. #28 simon says:
    11. Oktober 2009 um 12:30

    wo bekomme ich denn die bilder her

    Antworten
    • #29 melonenkopf says:
      12. Oktober 2009 um 12:48

      Indem du auf “diese Dateien” klickst;)
      Ganz oben stehen sie zum Download bereit.
      Nur habe ich auch eine Frage
      Immer wenn ich am Anfang beispielsweise Wiese Kopie.png darein öffnen will kommt ein Blaues Fragezeichen. :/
      Also so eine “Bilder Fehlermeldung”
      Weiß wer Hilfe?
      Oder wie soll ich überhaupt das Bild darein bekommen? Einfach den Namen des Bildes hineinschreiben?
      Gruß

      Antworten
Schreibe einen Kommentar