Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   модальное окно и маленькие проблемы... (http://www.flasher.ru/forum/showthread.php?t=66432)

Ices 06.07.2005 12:48

модальное окно и маленькие проблемы...
 
Всем привет!!!

Помучился я тут с html alert и решил делать свой на флеше(компоненты в силу их веса не рассматриваю)...

Решил кучу проблемм с этим связанным... Но остались такие вопросы:
1) При блокировки доступа ко всем элементам под окном сообщения с помощью большой прозрачной кнопки с useHandCursor=false все ли реально заблокируется и не начнет ли что-то из-за этого тормозить???

2) На окне сообщения расположил всего одну кнопку "OK". Но как сделать обработку по нажатию на клаву?
Делаю так:
Код:

ButtonOK.onKeyUp=function(){trace("pressed");}
не работает...
Эту же функцию пытался ставить практически на все кнопки и просто мувики... И не работает.
А заработало когда я в одном мувике непосредственно написал:
Код:

onClipEvent(keyUp)
        {
        trace("pressed");
        }

В чем же разница???

3) Не понимаю как узнать центр ролика. Глупо, но факт.
Почему-то _root._height, _root._width, Stage.height, Stage.width показывают иногда неверное значение.
И поэтому
Код:

x=_root._width/2;
y=_root._height/2;

далеко не центр ролика...

Nirth 06.07.2005 12:51

Код:

Stage.height Staget.width
так же не забудь
Код:

Stage.scaleMode = "noScale";
и можно Stage.align = "TL";

Насчет того что неверные, не знаю не сталкивался, скорее всего у тебя где то ошибка в другом месте

Nirth 06.07.2005 12:53

Да ктати центр вычисляеться так
w1 = ширина рабочей поверхности
w2 = ширина модального окна
центр = (w1-w2)/2
аналогично для высоты.

Ices 06.07.2005 13:09

Код:

Stage.scaleMode = "noScale";
Этот код я уже давно сделал т.к. делаю сайт...
А вот на счет
Код:

Stage.align = "TL";
еще не экспериментировал...

А на счет центра вы сами напишите такой код в разных местах...
Код:

trace(Stage.height)
Цитата:

Да ктати центр вычисляеться так
w1 = ширина рабочей поверхности
w2 = ширина модального окна
центр = (w1-w2)/2 аналогично для высоты.
Так вычисляется не центр, а левый край модального окна, которое будет по центру... Скорее всего опечатка.

Nirth 06.07.2005 13:14

Код:

trace(Stage.height)
в своих исходниках писать смысла не вижу, ибо у меня и без трэйса центрируеться.

Цитата:

Так вычисляется не центр, а левый край модального окна, которое будет по центру... Скорее всего опечатка.
угу не так сказал.

прикрепи исходник посмотрю...

Ices 06.07.2005 13:31

Вложений: 1
сейчас я не на работе, а дома... по быстрому сварганил пример с трейсом, который не правильно показывает значения...

Nirth 06.07.2005 13:51

исходник запутанный, не понимаю чего добиваешься вообще.
Код:

//Draw the rectangle
var b = this.createEmptyMovieClip("rect_mc", 2);
b.beginFill(0xFF0000, 100);
b.moveTo(0, 0);
b.lineTo(100, 0);
b.lineTo(100, 100);
b.lineTo(0, 100);
b.lineTo(0, 0);
b.endFill();
//End of draw
this.center = function () {
        _root.rect_mc._x = (Stage.width - _root.rect_mc._width) / 2;
        _root.rect_mc._y = (Stage.height - _root.rect_mc._height) / 2;
};
this.center();
//
Stage.align = "TL";
Stage.scaleMode = "noScale";
var obj = new Object();
obj.onResize = center;
Stage.addListener(this.obj);

тут все работает.

Ices 06.07.2005 16:26

Разобрался...
Нужно было поставить
Код:

Stage.align = "TL";
Я просто хотел знать значения ширины и высоты, которые установлены изначально...

Спасибо за ответы... ;)

netCat 06.07.2005 16:42

Насчет всяких определений центра сцены и выравниваний советую почитать про SystemManager.screen.

KUZEN 06.07.2005 16:45

Цитата:

Сообщение от netCat
Насчет всяких определений центра сцены и выравниваний советую почитать про SystemManager.screen.

Поподробней пожалуйста


Часовой пояс GMT +4, время: 00:26.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.