मेरे पास एक ड्राइंग ऐप है और मैं चाहता हूं कि मेरे उपयोगकर्ता अपने ड्राइंग के हिस्से के रूप में कण प्रभावों का उपयोग करने में सक्षम हों। असल में, ऐप का बिंदु कस्टम ड्राइंग करना और कैमरा रोल में सहेजना या वर्ल्ड वाइड वेब पर साझा करना है।CAEmitterLayer rendering नहीं जब -renderInContext: सुपरलेयर के
मुझे हाल ही में 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.
का उपयोग कर रहा क्या सोचते ड्राइंग की सामग्री प्रतिपादन के बारे में जाना जब
CAEmitterLayer
"एनिमेट" कणों की एक निरंतर राज्य में है हो रहा है। यही कारण है कि जब मैं परत प्रस्तुत करने का प्रयास करता हूं (मैंने layers.presentationLayer
और मॉडललेयर प्रस्तुत करने का भी प्रयास किया है), एनिमेशन कभी भी प्रतिबद्ध नहीं होते हैं और इसलिए ऑफ स्क्रीन छवि रेंडर में कण नहीं होते हैं।
प्रश्न क्या किसी ने CAEmitterLayer
ऑफ़स्क्रीन की सामग्री प्रदान की है? यदि ऐसा है, तो आपने यह कैसे किया?
वैकल्पिक प्रश्न क्या किसी को भी कण प्रभाव प्रणाली पुस्तकालयों के बारे में पता है जो OpenGL का उपयोग नहीं करते हैं और Cocos2D नहीं है?
इसके साथ कोई भाग्य? –
नहीं, नीचे रेविस जवाब देखें। CAEmitterLayer renderInContext को कॉल नहीं कर सकता: – micksabox