문제

나는 a와의 개념화 애니메이션으로 어려움을 겪고 있습니다 칼레이 반대로 uiview 's 자체 애니메이션 방법. 던지다 "핵심 애니메이션"이것과 글쎄, 누군가 가이 개념을 높은 수준에서 표현할 수 있으므로 무슨 일이 일어나고 있는지, 그리고 iPhone의 Calayer Animations로 Uiview 애니메이션을 마이그레이션하려는 이유를 더 잘 시각화 할 수 있습니다. . Cocoa-Touch의 모든보기는 자동으로 레이어를 얻습니다. 및/또는 다른 것?!? 함께 섞어?!? 하지만 왜? 라인은 어디에 있습니까? 각각의 프로/사기는 무엇입니까?

Core Animation Programming Guide는 즉시 레이어 및 타이밍 클래스로 뛰어 들며 한 걸음 물러서서 왜 이러한 다양한 작품이 존재하는지, 어떻게 서로 관련되는지 이해해야한다고 생각합니다.

도움이 되었습니까?

해결책

컨트롤 및 눈 사탕의 층을위한 뷰를 사용하십시오. 레이어는 이벤트를받지 않으므로 해당 경우에 대한보기를 쉽게 사용하기가 더 쉽지만 스프라이트 나 배경 등을 애니메이션하려면 레이어가 의미가 있습니다. 이벤트는 레이어를 통해 백킹 뷰로 바로 전달되므로 이벤트를 엉망으로 만들지 않고도 시각적으로 표현할 수 있습니다. 시각적 표현에만 사용하는 견해를 오버레이하려고 노력하면 탭 이벤트를 기본보기로 전달해야합니다.

다른 팁

an UIView 항상 렌더링됩니다 CALayer. 당신이 사용할 때 UIView 견해를 애니메이션하는 방법, 당신은 기본을 효과적으로 조작하고 있습니다. CALayer.

간단한 일을 해야하는 경우 사용하십시오. UIView 행동 양식. 더 복잡한 시설이 있거나 특히 뷰와 관련이없는 레이어를 원한다면 사용하십시오. CALayers.

지난해에 많은 앱을 만들었습니다. 내 경험의 규칙은 다음과 같습니다.

  1. UIView가 원하는 것을 수행하지 않을 때까지 사용하십시오.
  2. 그런 다음 CoreAnimation으로 이동하십시오. 하지만 너무 많이 들어가기 전에 ...
  3. 몇 가지 이상의 애니메이션을 작성하면 Cocos2d를 사용하십시오.

UIView 변환은 2D에 불과하고 그로 제한되며 레이어 변환은 3D 일 수 있지만 3D 작업을 수행하려면 UIView Transform 또는 Calayer Transform을 변경하면 UIView 애니메이션이 작동합니다. 따라서 기본 수준에서보기보다는 레이어로 작업 할 때 훨씬 더 많은 조작을 할 수 있습니다.

"CoCOS2D가 더 잘하고있는 것은 무엇입니까? 터치 이벤트 처리 및 OpenGl ES에서 놓친 다른 많은 것들과 관련하여 다른 문제가 없습니까?"

대답은 CoCOS2D가 실제로 실제로있을 때 OpenGL ES 프레임 워크를 기반으로하지 않는다고 제안합니다. 그것은 훌륭한 2D 게임 엔진이지만 렌더링을 위해 OpenGL을 구현합니다. 물리학 라이브러리에 연결되어 애니메이션에 대한 매우 흥미로운 가능성을 많이 허용하고 Chris는 정확합니다. 실제로 코딩이 훨씬 적습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top