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





9. Oktober 2009 um 19:22
Hm cool?
Ich weiss nich ob ich zeit und lust dazu hab es zu machen *G*
9. Oktober 2009 um 19:36
Hat ja auch niemand gesagt…
9. Oktober 2009 um 19:52
mach ich morgen in deer früh
9. Oktober 2009 um 20:14
Ah man hat meinen Kommentar von der letzten Folge wahrgenommen!
Dankeschön!
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
:)
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
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:):)
9. Oktober 2009 um 21:12
wie krieg ich da des Class Outlets?bei files owner
9. Oktober 2009 um 21:18
Siehe Video. Du machst die Outlets im Interface Builder und ziehst die dann in die .h Datei rein,
9. Oktober 2009 um 21:21
wie? ich mein der Punkt Class outlets fehlt bei mir, dieser baustein fehlt
9. Oktober 2009 um 21:23
Vielleicht nur minimiert. Was ist da zwischen Class Actions und Interface Builder Indentity?
Screenshot wäre nicht schlecht.
9. Oktober 2009 um 21:24
der punkt unter fall ball identify
9. Oktober 2009 um 21:25
wo sell ich screenshot uploaden?
9. Oktober 2009 um 21:26
auf imageshack.us oder twitpic oder sonst wo.
9. Oktober 2009 um 21:29
http://www.flickr.com/photos/4.....550455542/
9. Oktober 2009 um 21:32
Mach Doppelklick auf Files Owner.
9. Oktober 2009 um 21:34
passiert nix
9. Oktober 2009 um 21:39
Hast du Teamviewer?
9. Oktober 2009 um 21:40
ich lads mir schnell runter
9. Oktober 2009 um 21:41
okay ive got it
9. Oktober 2009 um 21:42
Schick mir Code per mail:
9. Oktober 2009 um 21:43
geschickt!
9. Oktober 2009 um 21:45
Passwort ist falsch…
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
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).
10. Oktober 2009 um 17:54
Wie hastn du nun die Class outlets hinbekommen? Hab die nämlich auch nit?
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.
11. Oktober 2009 um 12:30
wo bekomme ich denn die bilder her
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ß
13. Oktober 2009 um 15:04
edit: Problem geklärt