سؤال

وهذا يبدو أنه سيكون أمرا حقا من السهل القيام به، ولكن لتم إعطائي جميع أنواع الصداع. لدي مقطع فيلم هذا هو المعرض، هو ربطه ليتم استدعاؤها من AS عند النقر على زر. عند النقر فوق صورة في المعرض، ويتلاشى في استخدام فئة توين وهو من المفترض أن تركز في المرحلة الأساسية، ولكن تمركز لفي مقطع فيلم بدلا من ذلك.

وهنا هو رمز:

//Centers and places image right ondo the display board
function fullLoaded(e:Event):void {
    var myFull:Loader = Loader(e.target.loader);
    addChild(myFull);

    //positioning
    myFull.x = (stage.stageWidth - myFull.width) / 2;
    myFull.y = (stage.stageHeight - myFull.height) /2;

    //register the remove function
    myFull.addEventListener(MouseEvent.CLICK, removeFull);

    new Tween(myFull, "alpha", Strong.easeInOut,0,1,0.5,true);
}

ولقد حاولت كل من هذه المجموعات دون جدوى:

MovieClip(root).stage.stageWidth  
root.stage.stageWidth  
parent.stage.stageWidth

وأي من هذه مكان الصورة في المكان الصحيح.

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

المحلول

وتعيين هذه هذه الخاصية لجعل مرحلة لديكم انها ORIGO (0x0) في الجزء العلوي الأيسر:

stage.align = StageAlign.TOP_LEFT;

وهذا لجعل مرحلة البقاء على نفس النطاق كما تغير حجم النافذة:

stage.scaleMode = StageScaleMode.NO_SCALE;

وبعد ذلك سوف تحتاج إلى الانتظار حتى يتم تحميل الصورة قبل محاذاته، لأنه لن يكون عرض قبل ذلك. وأوصى أيضا الاستماع لEvent.RESIZE على المسرح، وأطلق هذا عند تغيير حجم.

وإذا افترضنا أن كل التعليمات البرمجية الحالية يجب أن تعمل على ما يرام!

myFull.x = (stage.stageWidth - myFull.width) / 2;
myFull.y = (stage.stageHeight - myFull.height) /2;

نصائح أخرى

وMovieClip(root).addChild(myFull); لا تنسى أن تفعل الشيء نفسه بالنسبة removeChild

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