Форум 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=115731)

Mur4ik 08.09.2008 22:27

Модальные окна, поделитесь опытом
 
Кто и как делает модальные окна, это что то вроде открылось окошко и нельзя ничего делать пока не закроешь его...

Т.е как дождаться ответа пользователя и выполнить соответствующие действия (или вернуться в ту чать программы которая проверит значения которые вернуло окно)...

Как вариант я думаю сделать так:
На фоне окна прозрачная кнопка с useHandCursor = false;
чтоб при открытии окна все остальные элементы под ним были не активны,
дальше сама функция вызова этого окна имеет тип boolean
с помощью watch (я тут недавно интересовался :) ) отслеживать что выбрал пользователь и исполнять нужный код в зависимости от ситуации.

Или еще вариант вешать на кнопки окна вызов функции, которая проанализирует выбор пользователя...

Есть еще какие-нибудь идеи-способы? Поделитесь опытом, пожалуйста...

Obi 09.09.2008 19:27

Как вариант — положить под окно черный мув на весь экран с прозрачностью 50% (это даст понять юзеру, что остальной мув неактивен). Насколько я помню, в ас1\2 вложенные мувклипы не умеют реагировать на мышиные евенты. Могу ошибаться

Mur4ik 09.09.2008 19:58

Спасибо, уже так и сделал ;), но меня больше техническая часть вопроса интересует именно как реализовать такое окно с точки зрения кода и обработки ответа пользователя?
Я пока на все случаи окон наплодил и каждому на кнопки повешал функции разные,
но думаю есть же решение по элегантней и правильней...
Благо в данном случае у меня таких окон получилось всего два-три, а если больше...
Думаю это не только меня интересует...

Obi 09.09.2008 20:57

Цитата:

но думаю есть же решение по элегантней и правильней...
Конечно есть. ООП называется.

Mur4ik 09.09.2008 21:51

Цитата:

Сообщение от Obi (Сообщение 763368)
Конечно есть. ООП называется.

Это ж не ответ... зачем вообще подобное писать, не понимаю, так для галочки и количества...Объектно-ориентированное программирование только для модальных окон решение? :)

Нельзя ли по конкретней?
Сам принцип, даже готовый код не прошу, хотя тоже было б не плохо :)

Obi 09.09.2008 22:05

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

Mur4ik 09.09.2008 22:15

to Obi:
Опять ничего конкретного...
Я про методы решения... а Вы мне про принципы ООП :)

etc 09.09.2008 23:17

Цитата:

Сообщение от Mur4ik (Сообщение 763395)
to Obi:
Опять ничего конкретного...
Я про методы решения... а Вы мне про принципы ООП :)

Вам и описали метод решения. Метод решения — это не готовый код, а описание логики.

Mur4ik 10.09.2008 00:03

Цитата:

Сообщение от __etc (Сообщение 763402)
Вам и описали метод решения. Метод решения — это не готовый код, а описание логики.

И где же в ваших ответах описание логики?...

По Вашему получается таким образом можно на все вопросы на форуме отвечать... "создайте нужную функцию, в ней пропишите нужный код определите ей нужные параметры и все у вас заработает", так ведь...
Это по Вашему описание логики? Да, но очень, очень обобщенно...

Если нечего сказать, лучше стороной пройти, как многие уже сделали (около 70 человек просмотрело, а ответов/советов конкретных нет)

Интересно Вам, __etc, приходилось что либо спрашивать на форуме,
и если б Вы в ответ получили нечто подобное, это для Вас сразу определило бы логику алгоритма?

darksranger 10.09.2008 00:20

а что вам не понятно то ? у вас есть код создания вашего модельного окна ? так вот и сделайте из него класс

для маленьких ( это если не понятен принцип ООП )
сделайте function из своего кода, по созданию окна, принимающий параметры описывающие ваши потребности и на основе принимаемых параметров отрисовыващее то что вам нужно

собственно если хотите в классе ( более рационально с точки зрения читаемости кода), то создайте класс, в него поместите функцию которую я описал сверху и создавайте экземпляр своего класса, передавая ему нужные параметры

PS вам доходчиво обьяснили еще в первом ответе ....


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

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