هل يمكنني استخدام البرمجة النصية الجدول الزمني على أصول SWF المضمنة مع Flex SDK؟
-
05-07-2019 - |
سؤال
لقد قمت بتضمين SWF في فئة باستخدام هذا الجملة أعلى تعريف الفصل الخاص بي:
[Embed (source='/../assets/MyMovieClips.swf', symbol='SpecialMovieClip')]
public class SpecialMovieClip extends MovieClip
يبدو أن أصول MovieClip مرتبطة بصفتي حسنًا ، وتستند إلى مثيلاتها معها ، ومرئية ، ولكن:
- لا يمكنني الوصول إلى الحالات الموضوعة على المسرح داخل هذا المقطع.
- يبدو أن البرمجة النصية الجدول الزمني غير وظيفي.
هل هذا هو عيب تضمين ملفات SWF في وقت الترجمة مع Flex SDK؟ لذا ، ربما يجب أن أعود فقط إلى التجميع مع IDE Flash إذا كنت أرغب في برنامج البرمجة النصية أو الحالات التي تم وضعها على المسرح؟
المحلول
إذا قمت بتضمين علامة [inmbed] سيتم تجريد جميع البرامج النصية منك. ولكن يمكنك إضافة برنامج نصي إلى إطارات مع movieClip.addframeScript ():
الوظيفة العامة الخاصة QuariveMovieClip () {
AddFramescript (4 ، myfunc)
}
وظيفة خاصة myfunc () {
قف()
}
أعتقد أنه لا يمكنك الوصول إلى الرموز داخل movieClip مع movieClip.getChildat ()
نصائح أخرى
من مستندات: (قم بالتمرير لأسفل إلى "تضمين رموز SWF")
إذا كان ملف SWF يحتوي على أي رمز ActionScript ، فإن Flex يطبع تحذيرًا أثناء التجميع ، ثم يقوم بتعيين ActionScript من رمز التضمين. هذا يعني أنه يمكنك فقط تضمين الرمز نفسه.
اعتمادًا على ما تريد القيام به ، أعتقد أنك من الأفضل تضمين SWF بأكمله ، أو تحميل الأشياء في وقت التشغيل.
بالمناسبة ، فيما يتعلق بعدم القدرة على الوصول إلى الأشياء داخل الرمز المدمج ، هل تأكدت من أن SWF الهدف هو AS3؟ إذا كنت تقوم بتضمين محتوى AS2 (أو التحميل) ، فلن يتم السماح بالتشغيل البيني إلا من خلال الاتصال المحلي. يتم تغطية هذا أيضًا على صفحة DOC التي قمت بربطها.