저는 그리기 앱이 있으며 사용자가 그림의 일부로 입자 효과를 사용할 수 있기를 바랍니다. 기본적으로, 응용 프로그램의 요점은 사용자 정의 도면을 수행하고 카메라 롤 또는 공유 월드 와이드 웹에 저장하는 것입니다.superlayer의 -renderInContext :가 렌더링 될 때 렌더링되지 않습니다.
내가 최근에 CAEmitterLayer
클래스를 만났습니다. 입자 효과를 추가하는 간단하고 효과적인 방법이라고 생각합니다.
CAEmitterLayer
구현을 사용하여 앱에서 화면에 입자를 그릴 수있었습니다. 따라서 화면 상에 렌더링하는 것이 좋습니다.
나는 CAEmitterLayer
는 "애니메이션"입자의 일정한 상태에
일어나고 내가 무슨 생각
CGContextRef context = UIGraphicsBeginImageContextWithSize(self.bounds.size);
// The instance drawingView has a CAEmitterLayer instance in its layer/view hierarchy
[drawingView.layer renderInContext:context];
//Note: I have also tried using the layer.presentationLayer and still nada
....
//Get the image from the current image context here for saving to Camera Roll or sharing
....the particles are never rendered in the image.
사용하여 도면의 내용을 렌더링에 대한 이동합니다. 그래서 레이어 렌더링을 시도 할 때 (애니메이션을 layers.presentationLayer
및 modelLayer로 렌더링하려고 시도한 경우) 애니메이션이 커밋되지 않으므로 화면 이미지 렌더링에 입자가 포함되지 않습니다.
질문 누군가의 내용을 화면에 표시하지 않았습니까? 그렇다면 어떻게하셨습니까?
대체 질문 누구나 OpenGL을 사용하지 않고 Cocos2D가 아닌 입자 효과 시스템 라이브러리를 알고 있습니까?
행운이 있나요? –
아니요, 아래 Revis 대답을 참조하십시오. CAEmitterLayer가 renderInContext를 호출 할 수 없습니다. – micksabox