Здравствуйте, уважаемые Форумчане.
Передо мной стоит следующая задачка:
Есть игровое окно Flash, в нем создается менюшка игры, которая по нажатию кнопочки может "выдвигаться" из нижней кромки экрана, показывая все свои возможности (выдвигается менюшка только на свой параметр высоты), и "задвигаться" вниз экрана, но не до конца - чтобы оставались видны самые необходимые кнопки меню.
Если экран статичен в размерах - то всё можно прописать по координатам, но окно игры можно масштабировать на весь экран, будь то экран нетбука или экран 24-дюймового монитора... и тогда всё уже не выглядит так красиво.
Вопрос в том, как правильно сделать привязку меню к нижней кромке экрана, который сейчас от масштабирован пользователем как угодно случайно?
Необходимо, чтобы по-прежнему из нижней кромки экрана торчала только шапка менюшки, а всё остальное скрывалось из виду. При выдвижении же меню в полный рост нижняя его часть по-прежнему должна касаться нижнего края экрана.
Код подобных телодвижений после всех моих попыток примерно следующий:

Код AS3:
public function hideBarFunction(e:MouseEvent) {
if (menu.y >= stage.stageHeight - 54) {
}
else {
timerhide = new Timer(16, 0);
timerhide.addEventListener(TimerEvent.TIMER, onHide);
timerhide.start();
}
}
public function showBarFunction(e:MouseEvent) {
if (menu.y <= stage.stageHeight - 185) {
}
else {
timershow = new Timer(16, 0);
timershow.addEventListener(TimerEvent.TIMER, onShow);
timershow.start();
}
}
public function onHide (e:TimerEvent) {
menu.y += 4;
if (menu.y >= stage.stageHeight - 54) {
timerhide.stop();
timerhide.removeEventListener(TimerEvent.TIMER, onHide);
}
}
public function onShow (e:TimerEvent) {
menu.y -= 4;
if (menu.y <= stage.stageHeight - 185) {
menu.y = stage.stageHeight - 185;
timershow.stop();
timershow.removeEventListener(TimerEvent.TIMER, onShow);
}
}
public function fullScreenFunction (e:MouseEvent) {
stage.displayState = StageDisplayState.FULL_SCREEN;
dispatchEvent(new Event(InterfaceMenu.FULL_MON));
fullScreenButton.removeEventListener(MouseEvent.CLICK, fullScreenFunction);
fullScreenButton.addEventListener(MouseEvent.CLICK, normalScreenFunction);
}
public function normalScreenFunction (e:MouseEvent) {
stage.displayState = StageDisplayState.NORMAL;
dispatchEvent(new Event(InterfaceMenu.NORMAL_MON));
fullScreenButton.removeEventListener(MouseEvent.CLICK, normalScreenFunction);
fullScreenButton.addEventListener(MouseEvent.CLICK, fullScreenFunction);
}
Пожалуйста, подскажите, хорошее решение этой задачки.