Du kannst das doch ganz einfach machen um zu Prüfen ob es ein Stein ist. Weise doch jedem Img. eine bestimmte Beschreibung / Eigenschaft zu. Z.b. Stein.jpg hat die Eigenschaft Zerstörbar = FALSE, dann musst du nur noch beim durchlauf der Schleife prüfen ob das jeweilige Obj. Zerstörbar ist oder nicht![]()
Oder poste mal das gesamte Projekt dann zeige ich dir was ich meine.
Ergebnis 1 bis 3 von 3
- 05.01.2012, 23:46 #1Gloster
Themenstarter
- Registriert
- 02.2009
- Beiträge
- 61
NSMutableArray fehler Hi Leute,
nachdem ich mich in letzter Zeit intensiv mit Cocoa und dem iPhone SDK auseinander gesetzt habe, habe ich beschlossen ein kleines App zu entwickeln:
Ihr kennt bestimmt alle das Spiel Blockimpact, also das Spiel wo man mit einer Kugel die obere Reihe freischießen muss. Naja egal.
Ich bin jetzt dabei mit der Kugel die Steine zu entfernen, dafür hab ich folgende methode geschrieben:
Code:for (Steine *images in [anzeige subviews]) { NSLog(@"%i",[felder count]); if([felder containsObject:images]) { NSLog(@"----> %@ %@ - Retain Count: %i",@"images.name", images.fileName, [images retainCount]); //if ([[images fileName] isEqualToString:@"stein.png"]) if (CGRectContainsRect([images frame], [ball frame])) { [images setHidden:YES]; [images removeFromSuperview]; } } }
anzeige = UIView
Steine = subclass von UIImageView
felder = NSMutableString mit allen Feldsteinen
fileName = Property von der Steine Klasse
ball = UIImageView
So jetzt folgendes Problem:
Ich versuche herauszufinden ob das Object ein "Steine" Object ist. Images kann anscheinend auch die Superklasse annehmen, also UIImageView und demnach auch UIView, was ich nicht verstehe aber gut. Jetzt hab ich versucht mit [felder contains...] herauszufinden ob es wirklich ein Stein-Element bzw Object ist. Jedoch kann die Felder Variable (die auch als Property gemacht wurde) nicht gefunden werden, bzw. nur leer...
Falls ihr eine Alternative zur Lösungs des Problemes habt herauszufinden, welches Object gerade berührt wird, bitte ich um diese Information
mfg
Pöhli
- 06.01.2012, 10:45 #2Empire
- Registriert
- 02.2011
- Ort
- Kamp-Lintfort
- Alter
- 21
- Beiträge
- 90
- iMac 27" i7-2600K, 4GB DDR3, 6970M 2GB, 1TB mid(2011)
- 06.01.2012, 17:42 #3Gloster
Themenstarter
- Registriert
- 02.2009
- Beiträge
- 61
Vielen Dank, aber das hätte nicht geklappt... Wie gesagt er sammelt auch die UIViews raus und hat damit diese Eigenschaft nicht... Aber ich hab jetzt einen Weg gefunden: mit isMemberOfClass:
Trotzdem würde ich gerne wissen warum er auch die UIImageViews mit einbezieht? Und dann noch, warum ich die globale Variable felder nicht weiterverwenden kann. Nur um nächstes Mal wenn ich vor so einem Problem stehe, verstehe warum das nicht geht.
Was ich noch vergessen habe zu sagen:
Wenn ich es in der DidFinishLauching Methode aufrufe funktioniert es, aber nicht bei meinem Accerometer vielen Dank


Zitieren
