2009-10-01 3 views
4

J'ai le code suivant dans mon application. Je suis novice dans le développement de jeux sur iPhone avec COCOS.ccp & cpv - différence de fonction et forme complète de cacao

Sprite *bg=[Sprite spriteWithFile:@"menu.png"]; 
    [bg setPosition:ccp(240,160)]; 
    [self addChild:bg z:0]; 
    [self addChild:[GameLayer node] z:1]; 
} 
return self; 

}

@end 
@implementation GameLayer 
-(id)init{ 
    if(self=[super init]){ 
     Label *test=[Label labelWithString:@"Hello World" fontName:@"Helvetica" fontSize:24]; 
     test.position=cpv(160, 240); 
     test.visible=YES; 
     [self addChild:test]; 
    } 
    return self; 
} 

Quelle est la fonction de ccp & cpv? (je pense qu'il est pour le réglage de la position de la couche, mais je ne sais pas. Je demande donc)

Sagar

Répondre

4

à partir du code source:

De CGPointExtension.h

#define ccp(__X__,__Y__) CGPointMake(__X__,__Y__) 

De cpVect.h

#define cpVect CGPoint 
static inline cpVect cpv(const cpFloat x, const cpFloat y) 
{ 
     cpVect v = {x, y}; 
     return v; 
} 
5

ccp est une simple macro définie par COCOS pour créer facilement un CGPoint. Il est donc rien de plus qu'un simple point (coordonnées x, y) Elle est définie comme:

#define ccp(__X__,__Y__) CGPointMake(__X__,__Y__) 

la position est une propriété de l'objet Label, qui définit probablement la position sur l'écran au point créé par ccp(). Je ne sais pas quel coin est utilisé comme point de référence (centre/en haut à gauche/en bas à gauche?) Car je n'ai jamais utilisé COCOS, alors essayez-le vous-même.

Bonne chance