stageWidth الحيوي وارتفاع في فلاش AS3
-
08-07-2019 - |
سؤال
وهذا يبدو أنه سيكون أمرا حقا من السهل القيام به، ولكن لتم إعطائي جميع أنواع الصداع. لدي مقطع فيلم هذا هو المعرض، هو ربطه ليتم استدعاؤها من 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