سؤال

لدي عدة مكونات من موقف الشاشة يعتمد على دقة الشاشة التي متصفح حياة.

loginBox.x = (فلاش.النظام.قدرات.screenResolutionX - loginBox.العرض) / 2;loginBox.y = (فلاش.النظام.قدرات.screenResolutionY - loginBox.الارتفاع) / 2;

المشكلة أنا واجهت هذا الفلاش.النظام.طريقة قدرات يسحب قرار من جهاز العرض الأساسي المرفقة إلى جهاز الكمبيوتر.في معظم الحالات هذه ليست مشكلة ولكن في واحد من أجهزة الكمبيوتر, لدي 1680x1050 و 1440x900.في العمل لدي 1920x1200 و 1680x1050, حتى إذا فتح الصفحة في مستعرض على أصغر رصد الأشياء ليست مركزة و لوحة أدوات تماما قبالة إلى اليمين من الشاشة.

لدي كتلة من جافا سكريبت التي حاولت ، سواء في html و من خلال php ولكن المشكلة هي أنه إذا كنت تستخدم إما httpRequest أو urlLoader للاستيلاء على ملف html ، أحصل على مصدر html و إذا حاولت php النصي, أحصل على كتلة البرنامج النصي الذي يحاول كتابة ملف تعريف الارتباط.لو أن الصفحة لم تم زيارتها من قبل التحميل من موقع فلاش, أو إذا تم تعطيل ملفات تعريف الارتباط ، أنه لم يحصل المكتوبة وأنا في أي مكان.

هل هناك طريقة يمكنني استخدام هذا لا تعتمد على ملفات تعريف الارتباط ، للكشف عن دقة الشاشة أن المتصفح هو في الواقع على القرار من أول الشاشة ؟

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

المحلول

لماذا لا يتم استخدام stage.stageWidth وstage.stageHeight لأغراض تحديد المواقع؟

وتحرير: حسنا، وهنا مثال على ذلك. أنا النظر أن عليك وضع هذا الرمز داخل الحاوية حيث يقيم loginBox أيضا. الخاصية المرحلة هي غير محددة ما لم يتم إضافة وجوه الخاص بك إلى DisplayList، لذلك كنت بحاجة للاستماع لعند إضافته ثم ضع loginBox.

// in the constructor
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);

ثم

private function onAddedToStage(evt:Event) {
    loginBox.x = (stage.stageWidth - loginBox.width)/2;
    loginBox.y = (stage.stageHeight - loginBox.height)/2;
}

وبالإضافة إلى ذلك، إذا كان لديك مرحلة scaleMode المقرر أن noScale (والذي ربما هو الحال)، إذا كنت بحاجة إلى إعادة باستمرار loginBox على أساس تغيير حجم المتصفح، تحتاج إلى الاستماع إلى حدث Event.RESIZE

stage.addEventListener(Event.RESIZE, onResize);

نصائح أخرى

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

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