每次我在 Xcode 5 中构建时的背景位置交替位置

Posted

技术标签:

【中文标题】每次我在 Xcode 5 中构建时的背景位置交替位置【英文标题】:Background position alternating position every time I build in Xcode 5 【发布时间】:2013-12-22 18:43:52 【问题描述】:

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

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

注意 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;

【问题讨论】:

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

【讨论】:

以上是关于每次我在 Xcode 5 中构建时的背景位置交替位置的主要内容,如果未能解决你的问题,请参考以下文章

我在 android studio 中运行我的颤振项目并尝试使用 iPhone 12 模拟器,但 Xcode 构建每次都失败

Xcode 5.1 在 64 位模拟器上构建 opencv 失败

Xcode 5、iOS7 和 64 位与 32 位

当我在 Xcode 4 中“构建存档”时,文件在哪里?

Cordova 应用程序 - 在 XCode 上构建失败

在 xcode 6 中构建旧应用程序时的布局问题