2011-11-26 2 views
2

Android에서 배경으로 사용하려고하는 이미지가 있습니다. 이미지 크기는 태블릿이지만 작은 화면이있을 때 크기를 줄이기를 원합니다. 종횡비가 꺼져있을 수도 있습니다. 어떤 경우이든 내 코드는 다음과 같습니다.Cocos 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

안녕하세요, ccMenuItem의 크기를 축소하고 싶습니다. cocos2d android game의 이미지? – ishu

관련 문제