Flex Loads SWF كما العفريت. كيف يمكنني تحميلها كأن movieclip بدلا من ذلك؟

StackOverflow https://stackoverflow.com/questions/906234

سؤال

لدي مشكلة في تحويل 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.

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