2010-12-03 3 views
2

저는 플립 애니메이션 라이브러리를 만듭니다 (데모 예제는 http://yfrog.com/7alhoz입니다).CATransform3DMakeRotation 및 shadow

두 단어로, 나는 CALayer를 만들고 CoreAnimation의 CATransform3DMakeRotation을 사용하여 회전시킵니다.

질문은 - 그 장면에 그림자를 추가하는 방법이 있습니까? OpenGL을 사용하여 전체 코드를 다시 작성하지 않고 :)

감사합니다.

답변

0

CAGradientLayer을 살펴보십시오. 비슷한 상황에서 그림자를 추가하기 위해 현재이 도구를 사용하고 있습니다. 성능면에서 현저히 비용이 많이 들지만 (여전히 확인해야 함) 상당히 납득이갑니다.

레이어에 하위 레이어로 CAGradientLayer을 추가하고 opacity에 애니메이션을 적용합니다. 그라디언트를 멈추고 색을 맞추면 게임을 제대로 진행할 수 있습니다.

0

나는 .PCH 파일에

#define DEGREES_TO_RADIANS(d) (d * M_PI/180) 

추가 OpenGL에 대해 확실하지 오전하지만 CATransform3D

을 확인해야

CATransform3D myTransform = CATransform3DIdentity; 
myTransform.m34 = 1.0/-500; 
myTransform = CATransform3DRotate(myTransform, DEGREES_TO_RADIANS(90), 0.0f, 0.0f, 1.0f); 
myView.layer.transform = myTransform; 

여기 DEGREES_TO_RADIANS(90)

을 각도를 변경하는 방법에 갈 수 있습니다

myView에 그림자를 추가 할 수 있습니다.

희망이 도움이 될 것입니다.

관련 문제