1

我是 Android 游戏开发的新手,我在将图像调整到所有不同的 Android 屏幕尺寸时遇到问题。
技术 我正在使用cocos2dandroid 库来设计游戏。

目前的工作代码是: -

if(winSize.width>1250 && winSize.height>700)
    {
        background = CCSprite.sprite("bg480X800.png");

        float scalexx=winSize.width/background.getContentSize().width;
        float scaleyy=winSize.height/background.getContentSize().height;

        background.setScaleX(scalexx);
        background.setScaleY(scaleyy);
        //background.setScale(1.65f);

    }
    /* *************************1000-1250  ********************** */ 
    else if(winSize.width<1250 && winSize.width>1000 )
    {
        background = CCSprite.sprite("bg7.png");

        float scalexx=winSize.width/background.getContentSize().width;
        float scaleyy=winSize.height/background.getContentSize().height;

        background.setScaleX(scalexx);
        background.setScaleY(scaleyy);
        //background.setScale(1.0f);
    }
    else
    {
        background = CCSprite.sprite("bg480X800.png");

        //background.setScale(1.0f);
        float scalexx=winSize.width/background.getContentSize().width;
        float scaleyy=winSize.height/background.getContentSize().height;

        background.setScaleX(scalexx);
        background.setScaleY(scaleyy);

    }

请告诉我你是否知道更好和更智能的编码,它可以适应所有屏幕尺寸

4

1 回答 1

0
CGSize winSize = CCDirector.sharedDirector().displaySize();

CCSprite background=CCSprite.sprite("background.png");

background.setScaleX(winSize .width/background.getTexture().getWidth());
background.setScaleY(winSize.height/background.getTexture().getHeight());
background.setPosition(CGPoint.make(winSize.width/2, winSize.height/2));
addChild(background);

设置为精确,屏幕尺寸是多少

于 2013-08-01T05:55:39.467 回答