2011-11-26 46 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