0

这是很简单的代码,但是不知道为什么 Cocos2D 继续将我的背景图片放大 x2?

我正在使用 Cocos2d Hello World 模板。除了删除 - (id) init 中的所有内容外,我没有对代码做任何事情

然后我添加了这个:

        //ADD BACKGROUND
    CGSize winSize = [[CCDirector sharedDirector] winSize];
    CCSprite *background = [CCSprite spriteWithFile:@"justAbackground.png"];
    background.position = ccp(winSize.width/2, winSize.height/2);
    [self addChild:background];

当我构建并运行它时,它的大小是图像的两倍。

如果我添加:

background.scale = .5;

这是它应该是的确切尺寸。

图像像素尺寸与 iPhone 完全相同。

我在这里想念什么?

提前致谢。

4

1 回答 1

0

也许您对点坐标与像素坐标感到困惑?

在普通 iPhone 上,点和像素尺寸是相等的,并且都为 480x320 像素/点。在 Retina 设备上,点坐标保持 480x320,但像素坐标加倍为 960x640。

现在,如果您想在 Retina 设备上使用像素坐标显示常规图像,您必须禁用Retina 显示模式。否则 cocos2d 会将任何没有 -hd 后缀的图像放大到点尺寸。

另一种方法是启用 Retina 显示模式并使用 -hd 后缀 (justAbackground-hd.png) 以双倍分辨率保存图像。

于 2012-07-06T11:21:22.650 回答