2012-03-14 2 views
7

정확한 크기로 스프라이트를 스케일하는 가장 좋은 기법은 무엇입니까? scale 속성은 배율이지만 스프라이트를 정확히 X 픽셀만큼 넓히려면 간단한 기법이 있습니까? 또는 원하는 크기와 스프라이트를 사용하여 간단하게 contentsizescale 연산을 계산해야합니까?스케일 CCSprite에서 정확한 크기

+0

솔직히, 난 항상 당신의 제안 (scaleX가 및 scaleY를 계산)에 따라 진행 한 다른 대답을 찾고 있지 않습니다. 나는 단지이 질문을 마음에 드는 사람으로 추가 할 것이다. 과학자들이 준설로 대답하는 것을 보아라. – YvesLeBorg

+1

내부적으로 cocos2d가'scaleX'와'scaleY' 값을'glScalef''의''openGL'' 함수로 보내기 때문에 새로운 크기와 현재 크기를 사용하여 스케일 배율을 계산하는 것이 유일한 방법입니다. 스프라이트를 그리는 시간입니다. – Lukman

답변

19

나는이 작품 믿습니다

-(void)resizeSprite:(CCSprite*)sprite toWidth:(float)width toHeight:(float)height { 
    sprite.scaleX = width/sprite.contentSize.width; 
    sprite.scaleY = height/sprite.contentSize.height; 
} 

이 게임에 넣어,이 같은 사용

[self resizeSprite:mySprite toWidth:350 toHeight:400]; 
0

scaleX와 scaleY의 두 가지 속성을 사용할 수 있습니다. 예를 들어, HP Bar에서 사용하십시오.

hpBarSprite.scaleX = hpCurrent/hpMax;

+0

나는 최대/현재를 의미한다고 생각 하나? – johnbakers

+0

막대의 경우, 1.0은 100 %이기 때문에'((1.0/최대) * 현재)'이어야합니다. – Voldemort

관련 문제