2012-02-26 3 views
0

내가 다음 코드CCSprite spriteWithFile 자동 크기의 이미지

CCSprite *planet = [CCSprite spriteWithFile:@"planet.png" rect:CGRectMake(0, 0, width, width)]; 

행성 자체와 행성을 만드는 오전하는 경우 48x48 그래서 현재 이미지 만 클립보다 훨씬 더 크다. 이미지를 자동 크기로 컨테이너에 넣고 싶습니다. 어떻게해야합니까?

답변

3

0보다 큰 숫자, '폭'이다

CCSprite *planet = [CCSprite spriteWithFile:@"planet.png"]; 
planet.scale=width/MAX(planet.contentSize.width,planet.contentSize.height); 

하지만 당신은 내가 당신이 아니라에 대한 텍스처를 만들 제안 (48 점) 아이콘 크기의 행성을 얻기 위해 시도하는 경우 매우 큰 이미지를 축소하는 것보다 ... 축소하거나 너무 많이 올리면 렌더링 품질이 달라질 수 있습니다.

+0

좋은 솔루션, 고마워, 나는 지금 테스트를 위해이 솔루션을 사용하고 있지만 테스트 중에이 이미지를 어떤 크기로 쉽게 확장 할 수 있으면 매우 편리하다. – Chris

1

scaleTo (또는 scaleBy) 메서드를 사용하고 원본과의 백분율 차이에 따라 크기를 조절합니다. 컨테이너의 폭을 가정