leicht gemacht: Cocos2d Scenes und Layer

Heute behandeln wir den grundsätzlichen Aufbau einer Cocos2d App. Wie ihr sicher in unserem Beispiel aus dem letzten Beitrag bereit erkannt habt arbeitet die App mit Scenes und Layer. Aber was machen Scenes und Layer? Und wann braucht man was? Und was bedeutet überhaupt dieser QuellCode:

 +(CCScene *) scene {
      // 'scene' is an autorelease object.
     CCScene *scene = [CCScene node];

     HelloWorldLayer *layer = [HelloWorldLayer node];

      // add layer as a child to scene
      [scene addChild: layer];

      // return the scene
      return scene;
}

Diese Fragen werden wir in diesem Tutorial behandeln.  […]

leicht gemacht: NSMutableArray

Hallo Zusammen,

heute geht es um NSMutableArray. Arrays allgemein sind eine Datenstruktur, bei der über einen Index auf Werte zugegriffen werden kann. In Objective C wird zwischen NSMutableArray und NSArray unterschieden. Das NSMutableArray ist veränderbar und dynamisch. Das bedeutet man muss zum Start nicht festlegen, wieviele Objekte darin gespeichert werden sollen. Dem gegenüber steht das NSArray. Das wird einmal definiert und kann danach nicht mehr verändert werden. Warum also nicht einfach immer das NSMutableArray nehmen? Nun, diese Flexibilität wird durch Performance erkauft – wenn man also mit einem Array arbeitet das sich nicht ändern wird, sollte man ruhig auch das NSArray nutzen.

Objekte hinzufügen

Zunächst müssen wir das Array natürlich initialisieren

ourArray = [[NSMutableArray alloc] init];

[…]

leicht gemacht: Schleifen

Hallo Zusammen,

heute widmen wir uns einer weiteren elementaren Datenstruktur – den Schleifen. Der Code innerhalb einer Schleife wird sooft wiederholt, wie es die Schleifenbedingung angibt.

Schauen wir uns ein Beispiel an:

for (int i = 0; i < 5; i++) {
	UIImage *cannonBall = [UIImage imageNamed:@"cannonBall_b-hd.png"];
	UIImageView *cannonBallView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, 50, 50)];
	cannonBallView.image = cannonBall;
	cannonBallView.center = CGPointMake(100, 50*i);
    	[self.view addSubview:cannonBallView];         
}

[…]

leicht gemacht: if Bedinungungen

Hallo Zusammen,

wie versprochen werden wir uns nun alle in den vorhergehenden Tutorials benutzten Datenstrukturen nochmal genauer ansehen. Als erstes widmen wir uns den if Bedinungen. If Bedingungen werden benutzt, um in Abhängigkeit vom konkreten Status des Programms und seiner Objekte Quellcode auszuführen oder eben nicht. Aus meiner Sicht ist es eine der wichtigsten Programmstrukturen und ich denke man kann guten Gewissens sagen, dass if Bedingungen in jedem Programm halbwegs komplexen vorkommen.

Man kann sich die if Bedingung als Frage vorstellen. Wenn die Frage mit ja beantwortet wird – also der Ausdruck in der Klammer wahr ist – dann wird der Quellcode der Bedinung ausgeführt.

Schauen wir uns ein Beispiel an:

if (ball.center.y > 500) {
    Anweisung;
    Anweisung;
    Anweisung;
}

[…]