Aller au contenu

Votre premier programme en sprite

Votre premier programme en sprite 

 

Là encore il y a certainement plusieurs méthode pour démarrer votre programme plus ou moins académique , je vais vous montrer la mienne , elle fonctionne et elle est simple !

Nous allons utiliser le projet que nous avions créé dans « Les Sprites ( présentation) » pour démarrer .

Pour commencer nous allons supprimer le code inutile de présentation ,ce que vous avez actuellement doit ressembler a ça :

//

//  GameScene.m

//  Arkanoid

//

//  Created by Sylvain Altmayer on 14/11/2015.

//  Copyright (c) 2015 Sylvain Altmayer. All rights reserved.

//

#import « GameScene.h »

@implementation GameScene

-(void)didMoveToView:(SKView *)view {

    /* Setup your scene here */

    SKLabelNode *myLabel = [SKLabelNode labelNodeWithFontNamed:@ »Chalkduster »];

    myLabel.text = @ »Chalkduster »;

    myLabel.fontSize = 45;

    myLabel.position = CGPointMake(CGRectGetMidX(self.frame),

                                   CGRectGetMidY(self.frame));

    [self addChild:myLabel];

}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    /* Called when a touch begins */

    for (UITouch *touch in touches) {

        CGPoint location = [touch locationInNode:self];

        SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@ »Spaceship »];

        sprite.xScale = 1;

        sprite.yScale = 0.5;

        sprite.position = location;

        SKAction *action = [SKAction rotateByAngle:M_PI duration:1];

       [sprite runAction:action ];

        [self addChild:sprite];

    }

}

-(void)update:(CFTimeInterval)currentTime {

    /* Called before each frame is rendered */

}

@end

 

Nous allons retirer le code en orange qui devient inutile , on a maintenant quelque chose qui ressemble a ça :

 

 

//

//  GameScene.m

//  Arkanoid

//

//  Created by Sylvain Altmayer on 14/11/2015.

//  Copyright (c) 2015 Sylvain Altmayer. All rights reserved.

//

#import « GameScene.h »

@implementation GameScene

-(void)didMoveToView:(SKView *)view {

    /* Setup your scene here */

}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    /* Called when a touch begins */

    for (UITouch *touch in touches) {

        CGPoint location = [touch locationInNode:self];

            }

}

-(void)update:(CFTimeInterval)currentTime {

    /* Called before each frame is rendered */

}

@end

Si vous avez bien effectué cette première action Xcode ne vous indique pas d’erreurs avec un point d’exclamation en rouge ( ! ), en revanche vous devez avoir un point d’exclamation jaune ( ! ) comme on peut le voir sur l’image dessous :

 

Capture d’écran 2015-11-15 à 10.51.47

 

Rien de grave ! Xcode vous indique simplement que vous avez déclaré une variable « location » ( dans laquelle on a stocké les coordonnés de l’endroit ou le tactile est touché par l’utilisateur ) que vous n’utilisez pas . Pour régler ce problème il suffirait de supprimer 2 ou 3 lignes de plus mais nous ne le ferons pas car elles vont nous être utile pour la suite et il nous faudrait les réécrire .De plus sachez que les points d’exclamations jaunes ne sont que des indications et ne vous empêche pas de lancer votre programme .Nous allons le constater tout de suite en lançant le programme ( Play en haut a gauche)

Vous devez avoir quelque chose qui ressemble a ceux-ci:

Capture d’écran 2015-11-15 à 11.03.15
 Vous cliquez dessus rien ne se passe ! c’est justement ce que l’on voulait ça tombe bien du coup 🙂
Je vous conseille de lancer vos programmes régulièrement afin de voir si ce que vous écrivez fonctionne ,