سؤال

أنا أحاول تحميل سلسلة من SWFs الخارجية في movieClip على خشبة المسرح. SWF هي 800 × 600 في البعد ، بينما تكون الحاوية 400 × 400.

كلما حاولت تحميل SWF الخارجي في الحاوية ، تأخذ الحاوية حجم SWF المحملة بدلاً من 400 × 400. كيف يمكنني التغلب على هذا؟
أريد أن يكون أي SWF محملاً في الحاوية ليكون 400 × 400

أنا أستخدم الكود التالي:

        var movLoad:MovieClipLoader = new MovieClipLoader();
        var myListener:Object = new Object();
        myListener.onLoadInit = function(thisMc:MovieClip) {
        thisMc._height = 400;
        thisMc._width = 400;       

        };
        movLoad.addListener(myListener);

        btnNext.onPress = function() 
        {
           loadSwf("myswf_file1.swf");//will change name accordingly.       
        }

        function loadSwf(swf)
       {
           movLoad.loadClip(swf, container_mc);
           // myswf1.swf is a swf which could be of any size .
          // container_mc is movieclip on stage.
         //container_mc has dimension 400 x 400 
        } 

شكرا أميت

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

المحلول

تحرير (إجابة جديدة): أعتقد أن المشكلة هي أن SWF المحملة تحتفظ بـ Priend _xscale و _yscale خصائص الحاوية.

إذا حاولت ضبط container_mc._width و ._height عندما كان Container_MC مقطعًا فارغًا ، فإن الفلاش (بشكل غريب) يغير مقياسه إلى صفر - عند تحميل SWF الخاص بك ، يكون له أيضًا مقياس صفر ، لذا فإن تعيين ملف _width و _height ليس له أي تأثير.

يمكنك اختبار هذا مع trace("scale = "+thisMc._xscale+" x "+thisMc._yscale);

سيكون الإصلاح هو وضع شيء ما في Container_MC (قل 400 × 400 مربع) في البداية. يمكنك إخفاءه حتى يتم تحميل SWF الخاص بك.

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