簡體   English   中英

為什么具有相同setPosition點的子畫面看起來相距太遠?

[英]Why do sprites with the same setPosition point appear so far apart?

給定以下代碼,為什么“圓”和“矩形”圖像顯示的距離太遠?

CGPoint center = ccp(winSize.width/2, winSize.height/2);
[rectangle setPosition:center];
[circle setPosition:ccp(winSize.width/2, winSize.height/2)];

這是用於創建矩形的代碼:

glEnable(GL_LINE_SMOOTH);
glColor4ub(255, 255, 255, 255);
glLineWidth(2);
CGPoint vertices2[] = { ccp(79,299), ccp(134,299), ccp(134,229), ccp(79,229) };
ccDrawPoly(vertices2, 4, YES);

在此處輸入圖片說明

-(id) init {
if((self = [super init])) {
    CGSize winSize = [CCDirector sharedDirector].winSize;

    [CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGB565];
    background = [CCSprite spriteWithFile:@"blue-shooting-stars.png"];
    background.anchorPoint = ccp(0,0);
    [CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_Default];
    Circle *circle = [[Circle alloc] init];
    [circle setPosition:ccp(winSize.width/2.0f, winSize.height/2.0f)];

    CGPoint center = ccp(winSize.width/2.0f, winSize.height/2.0f);

    Rectangle *rectangle = [[Rectangle alloc] init];
    [rectangle setPosition:center];

    [self addChild:circle];
    [self addChild:rectangle];
}
return self;

}

您將矩形的位置設置為屏幕的中心。 然后用坐標(79.f,299.f)繪制第一個頂點。 因此它繪制在右上角。 因為它相對於Rectangle的實例位置進行繪制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM