Android设置背景以使用cocos2d适合屏幕大小

时间:2012-12-03 17:16:17

标签: android glsurfaceview cocos2d-android

我正在使用cocos2d来开发我的安卓游戏。我正在使用以下代码来设置屏幕背景。

        CGSize winSize = CCDirector.sharedDirector().displaySize();
    CCSprite player = CCSprite.sprite("map_image.png");
    player.setScaleX(winSize.getWidth()/player.getTexture().getWidth());
    player.setScaleY(winSize.getHeight()/player.getTexture().getHeight());
    player.setPosition(CGPoint.make(winSize.width/2, winSize.height/2));
    addChild(player);

我正在缩放背景以适应屏幕尺寸。但它正在拉伸背景。请建议任何其他替代方案。我应该拍摄图像以适应不同大小的背景。

2 个答案:

答案 0 :(得分:1)

为不同的分辨率使用不同的图像,为您提供最佳的图形效果。您可以检查屏幕大小,并根据该屏幕大小为该分辨率定义精灵图像。

CCSprite player;
    if(size=...)
{
player = CCSprite.sprite("map_image_ldpi.png");
}else if(size=...)
{
player = CCSprite.sprite("map_image_mdpi.png");
}
.
.
.

Images handling in cocos2d android?

答案 1 :(得分:0)

我通常使用的图片大于任何屏幕尺寸(不使用拉伸),在某些屏幕上边缘不可见