![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
День добрый.
В классе SetSystem есть ф-ция: public static function setPosition():void { var _windowX:uint; var _windowY:uint; var _winWidth:uint = 800; //test var _winHeight:uint = 480; //test var _place:String = "center"; //test stage.nativeWindow.width = _winWidth; stage.nativeWindow.height = _winHeight; switch (_place) { case "center": _windowX = (Capabilities.screenResolutionX - stage.nativeWindow.width)/2; break; case "left": _windowX = 0; break; case "right": _windowX = Capabilities.screenResolutionX - stage.nativeWindow.width; break; } _windowY = (Capabilities.screenResolutionY - stage.nativeWindow.height)/2; stage.nativeWindow.x = _windowX; stage.nativeWindow.y = _windowY; stage.nativeWindow.width = _winWidth; stage.nativeWindow.height = _winHeight; } из класса Main (основного), ловлю ошибку на каждую строчку где обращаюсь к stage, сама ф-ция полностью рабочая, в основном классе работает прекрасно. Спасибо. |
|
|||||
|
Регистрация: Jan 2012
Сообщений: 35
|
Сделайте в своем статическом классе свойство
А в инициализации базового класса напишите что-то вроде: И пользуйте смело stage внутри любой статической функции Вашего класса. |
|
|||||
|
AIR.
Передавайте в setPosition stage и с ним работайте. Но подход какой-то кривой по-моему.
__________________
местонахождение |
|
|||||
|
Я собственно из-за чего статическую функцию-то делал: мне нужно просто вызвать ф-цию которая находится в другом классе, она не должна ничего возвращать, она просто должна устанавливать размер окна. Перенести код в конструктор и обратиться к нему я не могу - жалуется на неправильно количество аргументов. Какой способ на ваш взгляд самый оптимальный?
|
|
|||||
|
если касательно вашего вопроса, собственно сам stage вам и не нужен, вам нужен nativeWindow и place.
ваш же код, немного поправленный для овтета function setPosition(nativeWindow:NativeWindow, place:String = "center"):void { var _windowX:uint; var _windowY:uint; var _winWidth:uint = 800; //test var _winHeight:uint = 480; //test var _place:String = place; //test nativeWindow.width = _winWidth; nativeWindow.height = _winHeight; switch (_place) { case "center": _windowX = (Capabilities.screenResolutionX - nativeWindow.width) / 2; break; case "left": _windowX = 0; break; case "right": _windowX = Capabilities.screenResolutionX - nativeWindow.width; break; } _windowY = (Capabilities.screenResolutionY - nativeWindow.height) / 2; nativeWindow.x = _windowX; nativeWindow.y = _windowY; }
__________________
местонахождение Последний раз редактировалось СлаваRa; 25.02.2012 в 00:52. |
|
|||||
|
а вызов? мне передавать в нее nativeWindow?
|
|
|||||
|
Ну, собственно да, а в чем проблема? Вы не знаете когда это сделать?
После отлова ADDED_TO_STAGE, я так понимаю, вы это все хотите сделать при запуске программы? Тогда ловите событие в документ классе.
__________________
местонахождение |
|
|||||
|
Спасибо, проблема решена.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|