![]() |
Помогите с написанием первого класса, плиз..))
Захотел написать свой первый класс гибко-настраиваемых всплывающих подсказок. Посмотрел, классы Hint, которые выкладывали здесь и на silin.fatal.ru - не смог разобраться и порвал себе мозг.
Моя идея - следующая: в конструктор класса передается объект с настройками (если какие-то настройки не определены в объекте, то используются стандартные), а дальше я столкнулся с трудностями, когда попытался описать в классе функцию, создающую муви-клип, в котором создается текстовое поле. пока есть только это для пары настроек (остальные будут добавляться по-ходу - сейчас не в них суть): Код:
class Hint { |
orcpochta, не нашел, где ты
Цитата:
|
трудность, что я просто не смог создать ни одного муви-клипа или текст-филда, потому, как не знаю, как сделать это из класса (не знаю как по другому объяснить)
|
orcpochta!
Цитата:
|
Показывать хинты ты будешь при наведении мыши на какой-то объект, то есть по событию онРоллОвер. Следовательно, в обработчике этого события для тех объектов, которые ты прокомментировал, должен вызываться метод, показывающий хинт.
Следовательно, тебе нужно создать в классе этот метод, public function buildhint() к примеру. В этом методе ты создаешь пустой мувиклип с тестфилдом выше всех (а можно и просто текстфилд с бэкграундом), задаешь ему формат (его лучше заготовить заранее и сохранить как свойство класса, ну или обеспечить его "скинабельность"), и тут самое интересное - пишешь в нем текст. Чтобы знать, что писать, тебе надо чтобы метод получил ссылку на вызвавший его объект - или, как вариант, прямой текст хинта прямо от обработчика онРоллОвер, что значительно проще. Ну и на онРоллАут ты вызываешь метод closeHint(), который этот хинт удаляет. Мне кажется так юзабельнее. Один экземпляр и методы для управления созданием/удалением хинтов на сцене. При создании экземпляра НЕ ЗАДАВАТЬ ему текст, а задавать только скин - цвета и размеры текста и фона. А текст передавать из обработчика наведения мыши на объект. У тебя же получается что в обработчике создается объект со скином и текстом, потом создается экземпляр класса Хинт, и если я правильно понял, при создании экземпляра, прямо из конструктора, ты хочешь создавать на сцене текстфилд. Мне такой подход кажется неудобным, но тут может дело вкуса))) |
Создать клип и текстфилд - легко - почти также как если бы писал на таймлайне
Код:
private function createMovieAndText ():Void{Код:
private var _mc:MovieClip; |
Что-то стало получаться! видимо, ночью намудрил с адресацией.
Код:
class Hint { |
Ну вот так работает вариант с созданием текстфилда в конструкторе)))
Код:
class Hint {Код во фла: Код:
my_mc.onRollOver = function () { |
Всем спасибо за неоценимую помощь!!! :)
|
| Часовой пояс GMT +4, время: 22:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.