我有一张我想用作Android背景的图片。图像是平板电脑大小的,但我希望它在屏幕较小时缩小。我知道宽高比可能会关闭。无论如何,这是我的代码:
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);