![]() |
|
||||||||||
|
|
|
|||||
|
Я начинающий AS-программист. Встретился с проблемой и нуждаюсь в помощи. На форуме уже создавались подобные темы (но без примеров). Создалось ощущение что в Actionscript не предусмотрено такое.
Задача: Сделать в схеме при наведении на объекты появление фотографий (без подгрузки из внешних файлов, а мувиклипом) Мой вариант решения: Мувиклипы разложить по сцене со свойством alpha=0, изменять это свойство при наведении указателем на соответствующий объект и его "убиранием" оттуда. function dvizhenie(Photo1):void { Photo1.alpha=1; Photo1.addEventListener(Event.ENTER_FRAME, onEnterFrame); function onEnterFrame(event:Event):void { if (mouseX>=350) { Photo1.x=mouseX-Photo1.width-5; Photo1.y=mouseY-Photo1.height-5; } else if (mouseY>=165) { Photo1.x=mouseX+5; Photo1.y=mouseY-Photo1.height-5; } else { Photo1.x=mouseX+5; Photo1.y=mouseY+5; } } } function is4ez(Photo2):void { Photo2.alpha=0; } TRK.addEventListener(MouseEvent.MOUSE_OVER,addPhoto); function addPhoto(event:MouseEvent):void { dvizhenie(TRK_Photo); } TRK.addEventListener(MouseEvent.MOUSE_OUT,removePhoto); function removePhoto(event:MouseEvent):void { is4ez(TRK_Photo); } В языке Си (мне говорили) есть какой-то указатель, начинающийся с символа @. В AS 3.0 такое не нашел. Как обойти и сделать другим способом. Мне нужно в результате иметь |
|
|||||
|
Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
|
хм... циклом если хотите пользоваться динамикой. и пускать его столько раз сколько будет длинна массива вот и все функции вынесите в отдельный класс и оттуда тегайте их не нужно будет кучи кода)) а так думаете правильно, а что там за @ D СИ++? В AS3 ЕСТЬ @Emded но это вряд ли то что вам нужно.
__________________
Flex+AS3 good) |
|
|||||
|
lighto, С классами буду разбираться (пока не силен). Возможно это выход. Про указатель в Cи я понял так: он может сделать переменным кусочек кода. Что и нужно мне в AS 3.
Как бы еще объяснить... В PHP есть такой способ изменения кода HTML echo () - все, что мы напишем переменные или текст в скобках еще раз обработаются браузером. Также мне хочется и над кодом для флеша работать. iflamberg Я так понял, в предложенном скрипте создаются пронумерованные события. А как же мне их применить для мувиклипов? Названия мувиклипов будут разные или даже если я их буду нумеровать, как уйти от постоянного добавления новых функций?.. |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Вам не нужен "переменный кусочек кода", у Вас же абсолютно идентичные действия (функции) над переменными объектами - а это параметры функций, они и есть переменные по самому своему смыслу.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
Нет тут пронумерованных событий. На все экземпляры mc вешается один и тот же обработчик mouseOverHandler. У каждого мувика mc создается параметр param, который его позволяет однозначно идентифицировать. Когда мыша прошла по одному из mc, в event.target будет передан именно тот мувик, по которому мыша прошла, и мы находим его индекс из param.
Вообще говоря можно было вообще повесить только один mouseOverHandler на мувик, являющийся родителем для всех mc, все равно бы при проходе по mc в e.target.param - был бы индекс мувика.
__________________
мой пустой блог |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|