2012-07-06 76 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