Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>iPhone Programmierung

iPhone Programmierung

paulemann!08.03.1013:14
Hallo liebes Mactechnews-Forum-Team,

Ich muss als Studienarbeit ein iPhone-App schreiben. Das Programm soll ein Spiel sein, bei dem ein Bild (am besten wo ich auswählen könnte aus meiner Sammlung) und dieses in 9 Felder geschnitten wird durchmischt wird und ein schwarzes Feld hat das ich verschieben kann.
Ich bin ein Neuling in der Sprache und daher weiß ich nicht so recht wo ich anfangen soll. Habe ein ähnliches Programm bereits als JAVA-Variante. Dort haben sie ein Array mit den einzelnen geschnittenen Images gefühlt und diesen Array dann passend auf den Bildschirm transformiert. Ist dies auch mit Objective C möglich? Und wenn ja wie würde ich das in die Tat umsetzen?

Schon einmal recht herzlichen Danke an alle User die sich beteiligen.

Grüße
Paulemann

0

Kommentare

Johloemoe
Johloemoe08.03.1013:32
Leider nur noch im Google Cache, aber der Code ist eigentlich zu sehen, da solltest du genug Hilfe finden um dein Problem zu lösen: (Google Cache: iPhone Slider Puzzle Tutorial)
0
paulemann!08.03.1013:43
Tausend Dank an Johloemoe für die schnelle und hilfreiche Antwort. Der Code ist ja eig zu hundertprozent sichtbar oder irre ich mich?

Grüße
0
Christoph_M
Christoph_M08.03.1014:17
schau dir die "von NULL auf hundert;" Podcasts an.
Die Homepage von den Jungs findest du hier:
Imho das derzeit beste Objective-C+Cocoa+XCode Tutorial in deutscher Sprache.
Ich (komm auch aus der Java Ecke) hab mir das angeschaut und alles direkt vertanden. Danach solltest du das Game mühelos selbst entwickeln können.

Grüße
0
paulemann!08.03.1014:54
Hallo...
Wollte mich nur noch einmal kurz melden. Habe bereits am Anfang des Tutorials Probleme mit dem imagePath.
Der folgene Code muss ja in meinen ViewController.

#define NUM_VERTICAL_PIECES 3


-(void) initPuzzle:(NSString *) imagePath{
UIImage *orgImage = [UIImage imageNamed:imagePath];

if( orgImage == nil ){
return;
}

tileWidth = orgImage.size.width/NUM_HORIZONTAL_PIECES;
tileHeight = orgImage.size.height/NUM_VERTICAL_PIECES;

for( int x=0; x<NUM_HORIZONTAL_PIECES; x++ ){
for( int y=0; y<NUM_VERTICAL_PIECES; y++ ){
CGRect frame = CGRectMake(tileWidth*x, tileHeight*y,
tileWidth, tileHeight );
CGImageRef tileImageRef = CGImageCreateWithImageInRect( orgImage.CGImage, frame );
UIImage *tileImage = [UIImage imageWithCGImage:tileImageRef];

UIImageView *tileImageView = [[UIImageView alloc] initWithImage:tileImage];
tileImageView.frame = frame;
// free up some resources
[tileImage release];
CGImageRelease( tileImageRef );

// now add to view
[self.view insertSubview:tileImageView atIndex:0];
[tileImageView release];

}
}
}

Jedoch komme ich nicht mit dem ImagePath zurecht. Bekomme nicht hin das er ein bild von mir anzeigt, sondern es kommt immer nur ein weißes Bild
0
ExMacRabbitPro08.03.1015:06
Sind im IB alle Verbindungen gezogen? Bzw. zeigt self.view auf irgend etwas sinnvolles? In Obj-C gibt es nämlich keine NullPointer Exceptions. Aufrufe mit null als Object-Referenz werden vom Laufzeitsystem einfach ignoriert.
0
paulemann!08.03.1015:09
Wüsste gar nicht welche Verbindungen ich im IB ziehen sollte und self.view weiß ich auch nicht.
Was genau macht das self.view denn eig?
0
ExMacRabbitPro08.03.1015:13
paulemann!
Wüsste gar nicht welche Verbindungen ich im IB ziehen sollte und self.view weiß ich auch nicht.
Was genau macht das self.view denn eig?
Obj-C < - > Java
self  < - > this
jetzt klar?
0
paulemann!08.03.1015:20
Ah, okay...Das self ist also einfach der this-pointer! okay....
Mmh, habe den Code aus dem oben genannten Tutorial ( http://209.85.129.132/search?q=cache:5ZZnnAx32CcJ:playingwithcode.com/blog/%3Fp%3D171+iPhone+Slider+Puzzle+Tutorial&cd=2&hl=de&ct=clnk&gl=de&client=safari )
Habe die Anweisungen befolgt und einfach einen neuen UIViewController eingefügt und dann den exampel-Code in das m-file des controllers kopiert.

Ich verstehe aber nicht das ding mit dem imagePath, für was steht das? Ich habe ja eig damit kein Bild ausgewählt, somit kann er mir doch auch keins anzeigen oder?

Schon einmal tausend Dank für eure Hilfe! Bin ein blutiger Anfänger in Obj-C. Habe davor eig nur C und Cpp programmiert.
0
ExMacRabbitPro08.03.1015:28
paulemann!
Ah, okay...Das self ist also einfach der this-pointer! okay....
Mmh, habe den Code aus dem oben genannten Tutorial ( http://209.85.129.132/search?q=cache:5ZZnnAx32CcJ:playingwithcode.com/blog/%3Fp%3D171+iPhone+Slider+Puzzle+Tutorial&cd=2&hl=de&ct=clnk&gl=de&client=safari )
Habe die Anweisungen befolgt und einfach einen neuen UIViewController eingefügt und dann den exampel-Code in das m-file des controllers kopiert.

Ich verstehe aber nicht das ding mit dem imagePath, für was steht das? Ich habe ja eig damit kein Bild ausgewählt, somit kann er mir doch auch keins anzeigen oder?

Schon einmal tausend Dank für eure Hilfe! Bin ein blutiger Anfänger in Obj-C. Habe davor eig nur C und Cpp programmiert.

Dann solltest Du Dir einfach ein bisschen Zeit nehmen und dich einarbeiten.
Anders wird es nicht gehen. Studienarbeiten bekommt man nicht geschenkt - war bei mir damals auch nicht so.

Und zu dem ImagePath: naja - mal scharf nachdenken....
Ein NSString der sich imagePath nennt - was könnte darin wohl stehen. Doch nicht etwas dein Pfad und ein Dateiname der Image Datei die geladen werden soll...?

Und den Code einfach in einen UIView Controller zu kippen und dann zu erwarten dass es läuft kannst Du vergessen. alleine schon die init-Methode -(void) initPuzzle:(NSString *) imagePath wird nicht aufgerufen werden wenn das Ding ein UIView Conroller ist.
0
paulemann!08.03.1015:33
Ja, das mit dem ImagePath, war mir schon bewusst, dass das der Pfad darstellen soll. Aber nimmt sich die Variable den irgendwo her oder wie ist das? Weil ich kann ihn auch vorher nicht auf mein Namen des Bildes legen.

Wo sollte ich die Init-Fkt. denn sonst einfügen?
0
ExMacRabbitPro08.03.1015:39
paulemann!
Ja, das mit dem ImagePath, war mir schon bewusst, dass das der Pfad darstellen soll. Aber nimmt sich die Variable den irgendwo her oder wie ist das? Weil ich kann ihn auch vorher nicht auf mein Namen des Bildes legen.

Wo sollte ich die Init-Fkt. denn sonst einfügen?

Wie gesagt - fange weiter vorne an. Verstehe zuerst die Konzepte hinter Obj-C und dem Cocoa Touch Framework sowie dem MVC Konzept. Anders wird Du nicht zum Ziel kommen. Auch so eine simpel anmutendende Puzzle-App birgt einiges an Komplexität.
Überlege mal wie viel Arbeit Du in damit hättest wenn Du es in Java realisieren würdest - und in Obj-C ist es nicht signifikant weniger.
0
paulemann!08.03.1015:44
Ja, okay...Habe gedacht das Tutorial wäre fast Idioten sicher aber anscheinend doch nicht.
Hast du dann ein paar Tipps und Quellen (auf Deutsch) wo ich mich reinarbeiten könnte?
0
ExMacRabbitPro08.03.1015:46
paulemann!
Ja, okay...Habe gedacht das Tutorial wäre fast Idioten sicher aber anscheinend doch nicht.
Hast du dann ein paar Tipps und Quellen (auf Deutsch) wo ich mich reinarbeiten könnte?

Weiter oben wurden bereits gute Quellen und ein Podcast genannt. Diesen Empfehlungen schließe ich mich an.
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.