Hey Leute...
ich entwickle gerade ein kleines Spiel mit Hilfe des Sprite Kit Frameworks. Wirklich eine feine Sache, was Apple da gezaubert hat.
Ich selbst bin Designer und stolpre daher über Dinge, die für einen Programmierer sicher alltägliches Brot sind.
In einem "Endlosscroller" erzeuge auf dem Screen Münzen / Coins (oder was auch immer) die random erscheinen.
Immer wenn eine Münze aus dem Screen rausläuft wird die Methode aufgerufen, oder wenn man eine Münze einsammelt ([self addChild:[self spawnCoins]];).
Das klappt soweit auch ganz gut, allerdings gefällt mir die Anordnung noch nicht so ganz und des Weiteren überlappen die Münzen ab und an.
Mich würde nun interessieren ob ihr ein paar gute Lösungsansätze / Ideen oder Beispiel-Code habt, die dieses Problem charmant lösen können.
Hier mein Code:
Alles anzeigen
LG Florian
ich entwickle gerade ein kleines Spiel mit Hilfe des Sprite Kit Frameworks. Wirklich eine feine Sache, was Apple da gezaubert hat.
Ich selbst bin Designer und stolpre daher über Dinge, die für einen Programmierer sicher alltägliches Brot sind.
In einem "Endlosscroller" erzeuge auf dem Screen Münzen / Coins (oder was auch immer) die random erscheinen.
Immer wenn eine Münze aus dem Screen rausläuft wird die Methode aufgerufen, oder wenn man eine Münze einsammelt ([self addChild:[self spawnCoins]];).
Das klappt soweit auch ganz gut, allerdings gefällt mir die Anordnung noch nicht so ganz und des Weiteren überlappen die Münzen ab und an.
Mich würde nun interessieren ob ihr ein paar gute Lösungsansätze / Ideen oder Beispiel-Code habt, die dieses Problem charmant lösen können.
Hier mein Code:
Quellcode
-
- - (Coin *) spawnCoins{
- NSLog(@"add Coins");
- Coin *temp = [[Coin alloc] init];
- temp.name = @"coin";
- temp.physicsBody.categoryBitMask = coinCategory;
- temp.physicsBody.collisionBitMask = playerCategory;
- temp.physicsBody.contactTestBitMask = playerCategory;
- float randomStartPoint = arc4random_uniform(5) * 64 + 50;
- CGPoint startPoint = CGPointMake(self.size.width + arc4random() % 800, randomStartPoint);
- //temp.position = CGPointMake(self.size.width + arc4random() % 800, arc4random() % 240 + 50);
- temp.position = startPoint;
- return temp;
- }
LG Florian