سؤال

أنا أعاني من تصور الرسوم المتحركة مع Calayer. في مقابل uiview طرق الرسوم المتحركة الخاصة. يرمي "الرسوم المتحركة الأساسية"في هذا، حسنا، ربما يمكن لأي شخص أن يقوم بمعدد هذه المفاهيم من مستوى عال حتى أتمكن من تصور أفضل ما يحدث ولماذا أريد ترحيل الرسوم المتحركة Uiview (التي أنا على دراية بها الآن) إلى الرسوم المتحركة Calayer على iPhone . كل وجهة نظر في Cocoa-Touch تحصل تلقائيا على طبقة. ويبدو أنه يمكنك تحريك واحد و / أو الآخر؟!؟ حتى خلطها معا؟!؟ لكن لماذا؟ أين الخط؟ ما هو الموالية / يخدع كل؟

يقفز دليل برمجة الرسوم المتحركة الأساسية على الفور إلى فئات الطبقة والتوقيت وأعتقد أن الحاجة إلى اتخاذ خطوة إلى الوراء وفهم سبب وجود هذه القطع المتنوعة وكيف تتعلق ببعضها البعض.

هل كانت مفيدة؟

المحلول

استخدام طرق العرض للتحكم وطبقات حلوى العين. لا تتلقى الطبقات الأحداث، لذلك من الأسهل استخدام طريقة عرض لحالات الحالات، ولكن عندما تريد تحريك العفريت أو الخلفيات، وما إلى ذلك، فإن الطبقات منطقية. تمر الأحداث مباشرة من خلال الطبقات إلى طريقة عرض الدعم حتى تتمكن من الحصول على تمثيل مرئي جميل دون عبودية الأحداث الخاصة بك. حاول التراكي في رأي أنك تستخدم فقط للتمثيل المرئي وسيتعين عليك تمرير أحداث الصنبور من خلال عرض نفسك.

نصائح أخرى

أ UIView يتم تقديمه دائما إلى CALayer. وبعد عند استخدامها UIView طرق لتحريك وجهة نظر، أنت تلمع بشكل فعال CALayer.

إذا كنت بحاجة إلى القيام بأشياء بسيطة، فاستخدم UIView طرق. لمزيد من الوقت المعقد، أو إذا كنت تريد الطبقات غير المرتبطة بأي طريقة عرض خاصة، استخدم CALayers.

لقد قمت بمجموعة من التطبيقات في العام الماضي. ها هي حكمي الإبهام:

  1. استخدم Uiview حتى لا يفعل ما تريد.
  2. ثم انتقل إلى coreAnimation. ولكن قبل أن تحصل عليه كثيرا ...
  3. إذا كتبت أكثر من عدد قليل من الرسوم المتحركة، استخدم Cocos2D.

يتحول UIView تحويلات ثنائية الأبعاد فقط وتقتصر على ذلك، ومع ذلك، يمكن أن تكون الطبقة ثلاثية الأبعاد، ومع ذلك، يمكن أن تكون ثلاثية الأبعاد، ويجب عليك استخدام تلك إذا كنت ترغب في القيام بأشياء ثلاثية الأبعاد، فستعمل Uiview Animation إذا قمت بتغيير تحويل Uiview أو تحويل Calayer. لذلك على المستوى الأساسي، يمكنك القيام بمعالجة أكبر بكثير عند العمل مع طبقة بدلا من الرأي.

لست متأكدا مما إذا كنت أسيء الفهم من استجابة كريس "ما الذي يفعله Cocos2D أفضل؟ لا تملك مشاكل أخرى بعد ذلك، فيما يتعلق بمناولة الحدث باللمس والعديد من الأشياء الأخرى التي تفتقدها OpenGL ES؟"

يبدو أن الإجابة تقترح Cocos2D لا يعتمد على إطار OpenGL ES عندما يكون ذلك فعليا. في حين أنه محرك لعبة ثنائية الأبعاد، فإنه يقوم بتنفيذ OpenGL من أجل تجسيد كبير - المرفق بمكتبة الفيزياء، فإنه يسمح بالكثير من إمكانيات مثيرة للغاية للرسوم المتحركة - وكريس صحيحة - إنه أقل ترميزا كثيرا بالفعل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top