Search code examples
androidglsurfaceviewcocos2d-android

Android setting background to fit screen size using cocos2d


I am using cocos2d to develop my android game.I am using following code to set background of screen.

        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);

I am scaling background so as to fit screen size.but it is stretching background.Please suggest any other alternative.How i should take images to fit different sizes of backgrounds.


Solution

  • Use different images for different resolution, that give you best graphics result. You can check the screen size and according to that define the image for sprite for that resolution.

    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?