Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.10.2009, 19:00
duhowka вне форума Посмотреть профиль Отправить личное сообщение для duhowka Найти все сообщения от duhowka
  № 1  
Ответить с цитированием
duhowka

Регистрация: Mar 2009
Сообщений: 317
По умолчанию Как лучше сделать алгоритм работы меню?

Что хочу сделать.
Есть основное поле вывода данных (через текстовые поля нарисованные во флеш CS4), если на кликнуть на это поле, то открывается как бы меню, с настройками. В этом меню должна быть "кнопка" close. по клику на которую это меню исчезает и пользователь опять наблюдает поле с данными.
вопрос собственно как сделать реализацию по закрытию меню с настройками.
Что сделал. Я нарисовал основное поле, реализовал по клику, чтобы через AS3 рисовалось белое поле с надписью в углу Close. попробовал сделать, так, чтобы по клику на close, обрабатывалось событие и удалялись это бело поле с надписью. Но не могу нормально сделать это обработчик, флеш все время ругается. этот обработчик удаляет контейнеры методом removeChildAt(0), то своего родителя.

Подскажите, правильный ли я выбрал алгоритм? или это надо делать совсем по другому?
з.ы буду благодарен, если кинете сылочки, чтобы почитать или ткнете носом в книжечку, где описывается такая или подобные-нужные алгоритмы-варианты.

Старый 01.10.2009, 19:58
MoHaX вне форума Посмотреть профиль Отправить личное сообщение для MoHaX Найти все сообщения от MoHaX
  № 2  
Ответить с цитированием
MoHaX
 
Аватар для MoHaX

Регистрация: Aug 2004
Сообщений: 422
Отправить сообщение для MoHaX с помощью ICQ
клип должен просить родителя удалить себя.
Код AS3:
parent.removeChild(this);
это будет работать, если клип находится в дисплей листе (имеет parent)

Старый 01.10.2009, 20:28
r_r_f_r вне форума Посмотреть профиль Отправить личное сообщение для r_r_f_r Найти все сообщения от r_r_f_r
  № 3  
Ответить с цитированием
r_r_f_r

Регистрация: Sep 2008
Адрес: Москва
Сообщений: 224
Цитата:
Сообщение от MoHaX Посмотреть сообщение
клип должен просить родителя удалить себя.
Код AS3:
parent.removeChild(this);
это будет работать, если клип находится в дисплей листе (имеет parent)
Могу предположить что это меню, что-то должно изменять в "родителе" , так что с таким способом далеко не уедешь(всякие хэндлеры и т.д. останутся ведь).

так что меню должен полностью управлять "родитель" (создал, на всё подписался, в хэндлерах всё поменял, и всё после убил).

Старый 01.10.2009, 20:47
duhowka вне форума Посмотреть профиль Отправить личное сообщение для duhowka Найти все сообщения от duhowka
  № 4  
Ответить с цитированием
duhowka

Регистрация: Mar 2009
Сообщений: 317
Цитата:
Сообщение от r_r_f_r Посмотреть сообщение
Могу предположить что это меню, что-то должно изменять в "родителе" , так что с таким способом далеко не уедешь(всякие хэндлеры и т.д. останутся ведь).

так что меню должен полностью управлять "родитель" (создал, на всё подписался, в хэндлерах всё поменял, и всё после убил).
а как тогда сообщить родителю, когда удалять?

если надо могу свои потуги выложить.

Старый 01.10.2009, 21:24
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 5  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Родителю - подписаться на событие окна, окну - послать событие
__________________
тонкий тролль, осеянный благодатью

Старый 01.10.2009, 22:14
r_r_f_r вне форума Посмотреть профиль Отправить личное сообщение для r_r_f_r Найти все сообщения от r_r_f_r
  № 6  
Ответить с цитированием
r_r_f_r

Регистрация: Sep 2008
Адрес: Москва
Сообщений: 224
Цитата:
Сообщение от duhowka Посмотреть сообщение
а как тогда сообщить родителю, когда удалять?

если надо могу свои потуги выложить.
А зачем сообщать родителю? родитель сам не может это определить?

например:
при выборе определённого пункта - убить.
при клике вне области меню - убить.
при нажатии нужных клавиш - убить.

Да, вы правы, нужно подписать на 3 события, и потом от них отписаться.

upd:
"Отвечал по заголовку" и не подумал что меню - с кнопочкой закрыть
тогда конечно так
Цитата:
Сообщение от GAIKER Посмотреть сообщение
Родителю - подписаться на событие окна, окну - послать событие
событие - это что-то в духе
Код AS3:
CustomWindowMenuEvent.CLOSE


Последний раз редактировалось r_r_f_r; 01.10.2009 в 22:18.
Старый 01.10.2009, 22:22
MoHaX вне форума Посмотреть профиль Отправить личное сообщение для MoHaX Найти все сообщения от MoHaX
  № 7  
Ответить с цитированием
MoHaX
 
Аватар для MoHaX

Регистрация: Aug 2004
Сообщений: 422
Отправить сообщение для MoHaX с помощью ICQ
но в случае когда никаких подписок и ссылок нету.
можно ебнуть и parent.removeChild(this); ))

Старый 01.10.2009, 22:55
GFreemen вне форума Посмотреть профиль Отправить личное сообщение для GFreemen Найти все сообщения от GFreemen
  № 8  
Ответить с цитированием
GFreemen
 
Аватар для GFreemen

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
я делал обработку всех кнопок меню в самом ребенке (меню) - родитель был и без того загружен. Когда надо удалить ребенка - посылал событие родителю, родитель запускал child.destroy() - ребенок в себе удалял все евенты а потом из родителя убирал со сцены и child=null;

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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