2011-11-26 60 views
2

我有一個圖像我試圖用作Android中的背景。該圖像是平板電腦大小,但我希望它在縮小屏幕時縮小。我知道寬高比可能會關閉。在任何情況下,這裏是我的代碼:科科斯2D如何縮小圖像?

CGSize winSize = CCDirector.sharedDirector().displaySize(); 
    Log.v("MP", "Width: " + winSize.width + " Height: " + winSize.height); 
    CCSprite backGround = CCSprite.sprite("background1.png"); 
    this.setIsTouchEnabled(true); 
    //backGround.setContentSize(winSize); 
    backGround.setScale(.5f); 
    backGround.setPosition(CGPoint.ccp(winSize.width/2.0f,winSize.height/2.0f)); 
    addChild(backGround); 

發生了什麼是我的圖像沒有被自動縮小。所以你會注意到我正在縮小比例。 .5是測試的任意值。我注意到,當我這樣做時,圖形會縮小,但我的圖像被切斷。它只顯示圖像的左上角。

也許有人可以幫助我解決這個問題,也給我一些關於在Cocos2D上支持Android屏幕分辨率的一般建議。我知道如何在不使用Cocos2D的情況下處理這個問題,但我仍然在學習Cocos2D,但我不確定該怎麼做。

+0

我尋找接受的答案,但有一個更多的名稱大小變量,我們如何得到它的價值? –

回答

4

這是一個難題;我們通常使用這種方法:

background.setScaleX(winSize .width/background.getTexture().getWidth()); 

background.setScaleY(size.height/background.getTexture().getHeight()); 

background.setPosition(CGPoint.make(size.width/2, size.height/2)); 

addChild(backGround); 
+0

這個尺寸是否代表winSize在這裏? –

+0

您好我想在cocos2d android遊戲中縮小ccMenuItem圖片? – ishu