Objective c 背景位置每次我在Xcode 5中构建时都会变换位置

Objective c 背景位置每次我在Xcode 5中构建时都会变换位置,objective-c,xcode,cocos2d-iphone,xcode5,kobold2d,Objective C,Xcode,Cocos2d Iphone,Xcode5,Kobold2d,我刚开始使用cocos2D在Xcode 5中编程游戏,发现这很奇怪。我从一个菜单场景开始,导入了一个背景和一个按钮。下面的代码有时会将我的背景定位得很好,但有时会向上调整大约50个像素我的模拟器在它的一侧,或者它的长度是水平的,所以从技术上讲,它在宽度方向上移动了大约-50个像素,尽管对于模拟器它会向上移动 注意:我发现每次运行我的程序时,它都会在正确对齐和移位之间交替进行。为什么会发生这种事啊!下面是我正在使用的代码 注2:我使用的是Kobold2D,我使用的框架有一个config.lua,这

我刚开始使用cocos2D在Xcode 5中编程游戏,发现这很奇怪。我从一个菜单场景开始,导入了一个背景和一个按钮。下面的代码有时会将我的背景定位得很好,但有时会向上调整大约50个像素我的模拟器在它的一侧,或者它的长度是水平的,所以从技术上讲,它在宽度方向上移动了大约-50个像素,尽管对于模拟器它会向上移动

注意:我发现每次运行我的程序时,它都会在正确对齐和移位之间交替进行。为什么会发生这种事啊!下面是我正在使用的代码

注2:我使用的是Kobold2D,我使用的框架有一个config.lua,这稍微超出了我的理解范围。config.lua代码位于此处


代码中唯一的问题是初始化了两次sprite,这不是很好。 我认为这是你的问题的根源。 请尝试以下代码:

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

}

对我来说没有什么明显的…除了你不应该将锚点设置为零…通常应该将锚点单独设置在图像/精灵中心的0.5,0.5处。虽然我觉得为z顺序指定-1似乎不寻常,但从根代码看,它似乎可以正常工作。。。
-(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;