2009-06-19 3 views
11

आईफोन में प्रभावों की एक निजी सूची है जो ऐप्पल का उपयोग करता है, जैसे "genieEffect" और "slurpEffect"। मैं सोच रहा हूं कि स्लर्प प्रभाव को लागू करने के बारे में कोई कैसे जाएगा (यह तब होता है जब आप मेल संदेश या नोट मिटाते हैं)।आईफोन पर स्लर्प प्रभाव को कैसे कार्यान्वित करें?

मैं समझता हूं कि कोर एनीमेशन का उपयोग कैसे करें, लेकिन मुझे यकीन नहीं है कि वे उस एनीमेशन को प्राप्त करने के लिए वास्तव में किस हिस्से का उपयोग कर रहे हैं।

+0

विशेष रूप से, मैं निजी एपीआई (जो मेरा ऐप खारिज कर देगा) के बजाय प्रभाव (या कुछ समान) प्रभाव को अनुकरण करने के लिए देख रहा हूं। – Itay

उत्तर

1

प्रभाव के लिए निजी एपीआई का उपयोग कर के बारे में इस पोस्ट में वार्ता: link text

+0

मैं समझता हूं कि निजी एपीआई का उपयोग कैसे करें, लेकिन यह मेरे बाद नहीं है, क्योंकि मैं अपने ऐप को अस्वीकार नहीं करना पसंद करूंगा :) विशेष रूप से, मैं खुद को प्रभाव को अनुकरण कैसे करना चाहता हूं (या कुछ समान)। – Itay

+0

तकनीकी रूप से ... यह एक अनियंत्रित एपीआई है, एक निजी एपीआई नहीं है? ऐसा लगता है कि आप अभी भी सार्वजनिक रूप से उपलब्ध फ़ंक्शन कॉल का उपयोग कर रहे हैं। मुझे लगता है कि यह संभवतः उपयोग करने के लिए सुरक्षित है, लेकिन मैं एक ध्वज में फेंक दूंगा ताकि यदि आप असहमत हों तो आप एक लंगड़ा प्रभाव पर वापस आ सकते हैं। –

+1

मुझे विश्वास है कि आप सही हैं, लेकिन मेरा अंतर्ज्ञान मुझे अन्यथा बता रहा है। मैं शायद एक अलग संक्रमण के साथ आना शुरू कर दूंगा, जब तक कि किसी को इसका कार्यान्वयन करने के बारे में कुछ पता न हो। – Itay

1

यह 2 डी और 3 डी परिवर्तनों का एक जटिल संयोजन हो रहा है। : - \ आपको इस प्रभाव को अनुकरण करने के लिए वास्तव में कोरएनीमेशन में जाना होगा।

1

मैं इसे दृश्य की परत पर लागू एक एफ़िन रूपांतरण के साथ करूँगा। रेखीय बीजगणित मेरे मजबूत बिंदु नहीं है;) तो मैं सटीक परिवर्तन निर्दिष्ट नहीं कर सकते, लेकिन मेरा अनुमान है एनीमेशन के लिए कुछ इस तरह होगा:

  • अल्फा सेट 0
  • करने के लिए 0.0 या कुछ करीबी फीका करने के लिए
  • एक केंद्र के पास दो नीचे कोनों squish करने के लिए बदलने के लागू
  • स्केल दृश्य बहुत छोटा
  • चाल परत के केंद्र स्क्रीन के नीचे (या जहाँ भी आप इसे करने के लिए जिन्न करना चाहते करने के लिए नीचे करने के लिए नीचे।

यह कम या ज्यादा है कि मुझे लगता है कि यह कैसे काम करेगा। आपको इन चीजों को अलग-अलग समय पर एनिमेट करना पड़ सकता है, या सभी एक ब्लॉक में, मुझे पूरा यकीन नहीं है।

कैलियर, CABasicAnimation, और CGAffineTransform के लिए प्रलेखन पर एक नज़र डालें।