Page 171 - الرسوم التعليمية المتحركة الفرقة الثانية تيرم أول 2022 - 2023
P. 171

‫يمكنك أي ًضا تحديد رسم متحرك مخصص عن طريق القيام بما يلي‪:‬‬

           ‫‪ValueAnimator animation = ValueAnimator .of‬‬
                            ‫‪Object(new My Type Evaluator(),‬‬

                   ‫;)‪startPropertyValue, endPropertyValue‬‬

                                 ‫;)‪animation.setDuration(1000‬‬

                                      ‫;)(‪animation. Start‬رمز النسخ‬

     ‫في هذا الكود ‪ ،‬عند تشغيل طريقة )( ‪ ، start‬تبدأ ‪ValueAnimator‬‬
         ‫في حساب قيمة الرسوم المتحركة بين ‪ startPropertyValue‬و‬
                   ‫‪ ،endPropertyValue‬باستخدام المنطق الذي توفره‬
                        ‫‪ ،MyTypeEvaluator‬لمدة ‪ 1000‬مللي ثانية‪.‬‬

   ‫ومع ذلك ‪ ،‬فإن مقتطف التعليمات البرمجية الأول ليس له تأثير فعلي على‬
         ‫الكائن ‪ ،‬لأن ‪ ValueAnimator‬لا تتعامل مباشرة مع الكائنات أو‬

    ‫الخصائص‪ .‬من المرجح أن تقوم بتعديل الكائنات التي ستستخدم هذه القيم‬
                ‫المحسوبة‪ .‬يمكنك تحقيق ذلك من خلال تحديد المستمعين في‬

        ‫‪ValueAnimator‬للتعامل بشكل صحيح مع الأحداث المهمة (مثل‬
      ‫تحديثات الإطار) أثناء دورة حياة الرسوم المتحركة‪ .‬عند تنفيذ مستمع ‪،‬‬

        ‫يمكنك الحصول على القيمة المحسوبة لتحديث إطار معين عن طريق‬
                                       ‫استدعاء ‪getAnimatedValue‬‬

                                           ‫استخدم ‪Object Animator‬‬

    ‫‪Object Animator‬هو فئة فرعية من ‪ ، ValueAnimator‬ويجمع‬
      ‫بين حساب القيمة لمحرك التوقيت و ‪ ValueAnimator‬والقدرة على‬

‫‪171‬‬
   166   167   168   169   170   171   172   173   174   175   176