ccp & cpv - различие функций и полная форма какао - PullRequest
4 голосов
/ 01 октября 2009

В моем приложении указан следующий код.

Я новичок в разработке игр для iPhone с использованием COCOS.

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;
}

Какова функция ccp и cpv? (Я думаю, что это для установки положения слоя, но я не уверен. Поэтому я спрашиваю)

Сагар

Ответы [ 2 ]

5 голосов
/ 01 октября 2009

ccp - это простой макрос, определенный COCOS для простого создания CGPoint. Так что это не более чем точка (координата x, y). Она определяется как:

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

position - это свойство объекта Label, которое, вероятно, устанавливает позицию на экране в точку, созданную ccp(). Я не знаю, какой угол используется в качестве контрольной точки (центр / верхний левый / нижний левый?), Поскольку я никогда не использовал COCOS, поэтому попробуйте это сами.

Удачи

4 голосов
/ 01 октября 2009

Из исходного кода:

С CGPointExtension.h

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

С cpVect.h

#define cpVect CGPoint
static inline cpVect cpv(const cpFloat x, const cpFloat y)
{
        cpVect v = {x, y};
        return v;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...