Flex Loads SWF كما العفريت. كيف يمكنني تحميلها كأن movieclip بدلا من ذلك؟
-
05-09-2019 - |
سؤال
لدي مشكلة في تحويل swfloader. في حالة movieclip أثناء متابعة (برنامج theflashcanon ممتاز) على جعل SWF التواصل مع المرن. يتم تجميع SWF محمل في سؤال باستخدام Flash CS3 (باستخدام ActionScript 3).
ومع ذلك، عندما أحاول الحصول على محتوى SWFLODER وتحويله إلى مثيل Movieclip، أحصل دائما على هذا الخطأ:
TypeError: خطأ # 1034: فشل نوع الإكراه: لا يمكن تحويل Maix :: main_maix @ 49f94ec1 إلى flash.display.movieclip. في Test1 / OnloadMinigamecmecplete () [/ المستخدمين / Chiyin / Documents / Flex Builder 3 / SimpleGirlfriend / SRC / SRC / Main.as: 68
حيث maix :: main_maix @ 49F94EC1 هو مثيل فيلمي.
ما الخطأ الذي افعله؟ يلعب SPF المحملة بشكل جيد خلاف ذلك، ولا يشار إليه بأنه AVM1Movie.
تحديث: اكتشف أن SWF يتم استيراد كصديت بدلا من movieclip. كيف يمكنني إجبار SWFLoader على تحميل SWF كقسم Movieclip بدلا من كائن Sprite؟
المحلول
main_maix
يبدو أن تكون الفئة الوثيقة من SWF قيد التحميل فيها. إذا كان الأمر كذلك، يجب أن تمتد Main_maix MovieClip
بدلا من Sprite
:
public class main_maix extends MovieClip
أيضا، يمكنك دائما إلقاء فصول كائن لتتمكن من الوصول إليها بحرية (ولكن ليس ممارسة جيدة للغاية). قد ترغب في "إلقاء عليه" فقط كما Main_maix ":
/**
* Loader finished loading
*
* @param Event Complete event
* @return void
*/
private function onLoadMinigameComplete(event:Event):void
{
// -- either will allow "free access" to methods of main_maix
var maixAsObject:Object = Object(loader.content);
var maixAsMaix:main_maix = main_maix(loader.content);
}
نصائح أخرى
لا أعرف ما إذا كان هذا هو نفسه SWF محمل ديناميكيا. ولكن إذا كنت تقوم بإجراء Movieclip في بيئة تأليف الفلاش، فهذا لديه إطار واحد فقط. ثم قمت بتضمين ذلك في تطبيق Flex. سوف تضم كصديت بدلا من movieclip.