|
|
|||||
Регистрация: Apr 2010
Сообщений: 8
|
Слежка за подвижным объектом
в общем ситуация такова:
1)Есть тексть и объект, который перемещается по сцене. Нужно сделать, чтобы при наведении курсора на определенное слово этот объект подсвечивался ну или как-то реагировал (как - эт уже не важно), 2)в то же время, когда курсор наводится на сам объект - должен выскакивать коментарий к этому объекту Вторую задачу можно решить сделав объект кнопкой, а вот как решить первую? может как-нить через гиперссыслку или еще как? буду благодарен за помощь P.S. to moderators - я не знаю как точно обозвать смысл моего вопроса. |
|
|||||
у экземпляра мувика с текстом есть имя, у экземпляра перемещаемого объекта есть имя, пишем обработчики событий при наведении мыши, производим обработку... в чем трудности?
|
|
|||||
Регистрация: Apr 2010
Сообщений: 12
|
Подозреваю: нужна подсветка текста при наведении (наверно кусочек текста в textfield).
|
|
|||||
ant.dev, уверен, это не изменит в корень реализацию
|
|
|||||
Регистрация: Apr 2010
Сообщений: 8
|
Цитата:
про имена конечно я в курсе, да и про обработчики догадывался, но вот в них-то и проблема... не очень хорошо знаю скрипт... может хоть ткнете где почитать, или может хоть пример какой есть, ну или хоть мысль свою разверните )) |
|
|||||
Регистрация: Apr 2010
Сообщений: 8
|
тема до сих пор актуальна и вопрос не решен.
народ, помогите плз ...( |
|
|||||
Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
|
у Вас проблема в том, что реакция должна быть на наведение указателя мышки на часть текста?
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; public class Main extends Sprite { private var textField:TextField = new TextField(); private static const keyString:String = "СЮДА"; public function Main():void { super(); addChild(textField); textField.text = "наведите СЮДА"; textField.selectable = false; textField.addEventListener(MouseEvent.ROLL_OVER, mouseOverListner); } private function mouseOverListner(event:MouseEvent):void { textField.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListner); trace("Вы навели мышку на текствое поле. Теперь наведите на ключевое слово(СЮДА)"); } private function mouseMoveListner(event:MouseEvent):void { if (isKeyStringIndex(textField.getCharIndexAtPoint(event.localX, event.localY))) trace("Ура! Вы таки навели мышку на ключевое слово!"); else trace("Не попали!"); } private function mouseOutListner(event:MouseEvent):void { textField.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListner); } private function isKeyStringIndex(index:int):Boolean { var keyStringStartIndex:int = textField.text.indexOf(keyString); var keyStringEndIndex:int = keyStringStartIndex + keyString.length; if ((index >= keyStringStartIndex) && (index <= keyStringEndIndex)) return true; return false; } } } |
Часовой пояс GMT +4, время: 11:06. |
|
« Предыдущая тема | Следующая тема » |
|
|