2010-07-16 4 views
3

CCSprite의 그림자를 수행하는 방법이 있습니까? 스프라이트 이미지로그림자 및 CCSprite

1) 굽 그림자 그 자체, 또는 2) 별도의 스프라이트로 그림자를 관리 :

답변

5

글쎄, 당신은 기본적으로 두 가지 옵션이 있습니다.

이전 방법이 가장 쉽습니다. Photoshop에서 스프라이트를 열고 그림자가있는 레이어를 설정 한 다음 다시 저장하십시오. 일관된 광원이 있고 그림자를 잘못된 위치에 놓는 방식으로 스프라이트를 회전 시키거나 뒤집지 않는 경우에만 작동합니다.

그렇지 않으면 정상 스프라이트와 쉐도우 스프라이트의 두 가지 스프라이트를 관리 할 수 ​​있습니다. 아마도 새로운 그래픽이 필요하지 않을 것입니다.

sprite.color = ccc3(0,0,0); 

당신은 또한 시도 할 수 있습니다 : 대신, 같은 질감을 사용할 수 있습니다 그냥 사용하여 검은 색으로 스프라이트의 색상을 설정

sprite.opacity = 128; 
sprite.scaleY = -1.0; 

이 너무 큰 성능 저하가 발생하지합니다, 당신이 같은 질감에서 그것을 잡을 수 있기 때문에. 그림자의 애니메이션 프레임을 원본 스프라이트의 프레임과 일치 시키면 그림자도 일치합니다.

+1

위의 두 가지 방법 모두 훌륭한 솔루션이 아니므로 명목상의 (그러나 매우 쉬운) 해결 방법을 고려해야합니다. 나는 아직 Core Graphics/Core Animation 또는 UIView 및 CALayer와 함께 제공되는 상위 레벨 기능으로 작업하는 것만 큼 기본적인 것을 보지 못했습니다. # 1의 주요 문제점 : 애플리케이션의 일부 상태 (선택한 경우)에 따라 그림자가 달라지면 어떨까요? # 2의 주요 문제점, 런타임 애셋 복제 및 그림자없는 자연스러운 흐림 없음. – bshirley