2012-07-06 101 views
0

这是非常简单的代码,但我不知道为什么Cocos2D会继续将我的背景图像放大到x2?为什么Cocos2d缩放图像?

我正在使用Cocos2d Hello World模板。我没有做任何事情的代码,除了删除所有的内 - (ID)初始

然后我加入这个:

 //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完全相同。

我在这里错过了什么?

在此先感谢。

+0

“完全一样”它们是什么?也许,你使用非视网膜设备的视网膜纹理? – Morion 2012-07-06 07:57:07

回答

0

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

在普通iPhone上,点数&像素尺寸相等,均为480x320像素/点。在Retina设备上,点坐标保持为480x320,但像素坐标翻倍至960x640。

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

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

+0

是的,这就是它的感谢。我已经阅读了有关-hd后缀的文档http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide%3ahow_to_develop_retinadisplay_games_in_cocos2d – 2012-07-08 19:51:49

+0

所以,这可能是显而易见的,但是一个必然结果是:启用Retina显示并保存图像时不需要-hd后缀,这意味着Cocos2d会将图像内容大小报告为像素大小的一半。正确? – gdbj 2014-09-20 09:24:26

+0

不,相反。 -hd图像将以点的一半大小报告,但您始终可以获得真实的像素大小。请注意,如果您打算将图像保存在各种用户屏幕截图库中,请考虑用户将来可能会升级其设备,因此您需要考虑到较小的屏幕截图也需要在UI中正确显示。 – LearnCocos2D 2014-09-20 19:15:18