ccp& cpv - 功能差异&完整形式的可可

时间:2009-10-01 19:21:33

标签: iphone xcode cocos2d-iphone

我的应用程序中有以下代码。

我是使用COCOS进行iPhone游戏开发的新手。

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? (我认为这是为了设置图层的位置,但我不确定。所以我要求)

Sagar的

2 个答案:

答案 0 :(得分:5)

ccp是COCOS定义的一个简单宏,可以轻松创建CGPoint。所以它只不过是一个点(x,y坐标)它被定义为:

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

position 是Label对象的一个​​属性,它可能会将屏幕上的位置设置为ccp()创建的点。我不知道哪个角被用作参考点(中心/左上角/左下角?)因为我从未使用过COCOS所以请自己试试。

祝你好运

答案 1 :(得分:4)

来自源代码:

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