2013-12-22 3 views
0

저는 Xcode 5에서 cocos2D를 사용하여 프로그래밍 게임을 막 시작하고 있으며 매우 이상합니다. 저는 메뉴 장면에서 새로 시작하고 배경과 버튼을 가져 왔습니다. 다음 코드는 내 배경을 잘 때로는 위치 시키지만, 다른 때는 50 픽셀 정도 위쪽으로 조정합니다. (내 시뮬레이터는 옆에 있거나 길이가 가로 놓여 있으므로 기술적으로 "너비"방향으로 약 -50 픽셀 이동합니다. 시뮬레이터에는 위쪽으로 이동 함).백그라운드 위치는 Xcode 5를 빌드 할 때마다 번갈아 위치합니다.

참고 프로그램을 실행할 때마다 제대로 정렬되고 이동되는 것을 번갈아합니다. 왜 이런 일이 일어날까요? 아래 코드는 제가 사용하고있는 코드입니다.

참고 2 저는 Kobold2D를 사용하고 있습니다. 사용하고있는 프레임 워크에는 config.lua가 있습니다. 모든 것을 이해할 수있는 범위를 벗어났습니다. config.lua 코드는 http://snipt.org/BEt6

-(id) init 
{ 
    if ((self = [super init])) 
    { 
     CCSprite *sprite = [CCSprite spriteWithFile:@"background.png"]; 
     sprite.anchorPoint = CGPointZero; 
     [self addChild:sprite z:-1]; 

     sprite = [CCSprite spriteWithFile:@"button.png"]; 
     sprite.anchorPoint = CGPointZero; 
     sprite.position = CGPointMake(200,200); 
     [self addChild:sprite z:0]; 
    } 

    return self; 
} 
+0

아무것도 ...을 ... 그것은 일반적으로 혼자한다 (0.5, 0.5) (이미지/스프라이트의 중심). – FuzzyBunnySlippers

+0

루트 코드를 보면서 z 순서에 -1을 지정하는 것이 드문 것처럼 보입니다. 그래도 괜찮습니다. – FuzzyBunnySlippers

답변

0

코드에 대한 유일한 문제는 당신이 아주 좋은되지 않는, 두 번 스프라이트를 초기화하는 것이 여기에 있습니다.
나는 그것이 귀하의 문제를 일으키는 것이라고 생각합니다.

이 코드를보십시오 :

-(id) init 
{ 
    if ((self = [super init])) 
    { 
     CCSprite *sprite = [CCSprite spriteWithFile:@"background.png"]; 
     sprite.anchorPoint = CGPointZero; 
     [self addChild:sprite z:-1]; 

     CCSprite *sprite2 = [CCSprite spriteWithFile:@"button.png"]; 
     sprite2.anchorPoint = CGPointZero; 
     sprite2.position = CGPointMake(200,200); 
     [self addChild:sprite2 z:0]; 
} 

return self; 

} 당신이 제로로 anchorPoint을 설정하지 않아야을 제외하고 나에게 분명