![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2012
Адрес: 59°57′ с. ш. 30°19′ в. д.
Сообщений: 49
|
Здравствуйте!
Только перехожу на 3 скрипт,и возникла проблема. Почему то при передачи фактических параметров в функцию компилятор пишет, что "обращение к несуществующему свойству n1",хотя n1 - это формальный параметр типа MovieClip. И сразу такой вопрос. Сейчас у меня две функции, а можно ли их как то объединить в одну? До этого было написано на AS2,через одну. А вот как это сделать на AS3 ума не приложу((( addEventListener(MouseEvent.MOUSE_OVER,showToolTip) addEventListener(MouseEvent.MOUSE_OUT,unShowToolTip) function showToolTip(mc:MovieClip,str:String){ hint_status = true mytext = str } function unShowToolTip(mc:MovieClip){ hint_status = false } showToolTip(n1,'work') unShowToolTip(n1) Только сейчас увидела....а мувика то у меня нет в функциях(( Вот так бало на AS2, как переделать на AS3. Последний раз редактировалось юля_программист; 23.06.2014 в 13:08. Причина: ошибка, не заметила((( |
|
|||||
|
Цитата:
function controlTooltip(mc:MovieClip, str:String, showTooltip:Boolean):void { // не понятно зачем там параметр типа MovieClip, если они никак не используются hint_status = showTooltip; mytext = str; } controlTooltip(n1, null, false); // прячем controlTooltip(n1, 'Work', true); // показываем Цитата:
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
|
Регистрация: Oct 2012
Адрес: 59°57′ с. ш. 30°19′ в. д.
Сообщений: 49
|
Сама функция раньше висела на мувики и при наведение на мувик она показывалась(для каждого мувика своя подсказка)
Я что то никак не пойму как привязать все это дело к мувику? И еще вопрос можно ли каким то образом обработать все через массив или как то по другому, чтобы не прописывать каждый мувик и подсказку, а все это делал код? Последний раз редактировалось юля_программист; 23.06.2014 в 13:46. |
|
|||||
|
Регистрация: Oct 2012
Адрес: 59°57′ с. ш. 30°19′ в. д.
Сообщений: 49
|
Да но у меня вот в чем проблема, в функцию передается и сам текст подсказки,и для каждого мувика она своя,а сейчас у меня не получается сделать так чтобы определенному мувику соответствовала подсказка((
|
|
|||||
|
Lorem ipsum
|
showToolTip и unShowToolTip, судя по коду, являются обработчиками событий мыши. Следовательно, они должны иметь единственный аргумент типа MouseEvent. Пока что наблюдается какая-то каша.
Я бы сделал как-то так. import flash.display.MovieClip; import flash.utils.Dictionary; import flash.events.MouseEvent; import flash.text.TextField; // это типа разные мувики var n1:MovieClip = new MovieClip(); var n2:MovieClip = new MovieClip(); var n3:MovieClip = new MovieClip(); createDemoScene(n1, "MC1", 100); createDemoScene(n2, "MC2", 200); createDemoScene(n3, "MC3", 300); // а это у нас словарь, в котором для каждого мувика прописана, например, // строка для всплывающей подсказки (хотя здесь можно хранить много чего) var toolTips:Dictionary = new Dictionary(); toolTips[n1] = "строка подсказки для мувика 1"; toolTips[n2] = "строка подсказки для мувика 2"; toolTips[n3] = "строка подсказки для мувика 3"; // предположим, что они висят где попало, а не в одном контейнере, // что делает наиболее удобным подписаться на мышиные события всей сцены stage.addEventListener(MouseEvent.MOUSE_OVER, toolTip); stage.addEventListener(MouseEvent.MOUSE_OUT, toolTip); // а вот и сам обработчик function toolTip(event:MouseEvent):void { var mc:MovieClip = event.target as MovieClip; if (!mc || !toolTips[mc]) return; trace(event.type + ": " + toolTips[mc]); } // это вспомогательная функция, чтобы демосцену создать побырику function createDemoScene(mc, title, x):void { mc.graphics.beginFill(0x0055ff); mc.graphics.drawRect(0, 0, 75, 75); var txt:TextField = new TextField(); txt.text = title; txt.selectable = false; mc.addChild(txt); mc.x = x; addChild(mc); mc.mouseChildren = false; }
__________________
Поймай яблоко 2! |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|