Просмотр полной версии : Слежка за подвижным объектом
в общем ситуация такова:
1)Есть тексть и объект, который перемещается по сцене. Нужно сделать, чтобы при наведении курсора на определенное слово этот объект подсвечивался ну или как-то реагировал (как - эт уже не важно),
2)в то же время, когда курсор наводится на сам объект - должен выскакивать коментарий к этому объекту
Вторую задачу можно решить сделав объект кнопкой, а вот как решить первую? может как-нить через гиперссыслку или еще как? буду благодарен за помощь
P.S. to moderators - я не знаю как точно обозвать смысл моего вопроса.
Juice_Green
19.04.2010, 14:03
у экземпляра мувика с текстом есть имя, у экземпляра перемещаемого объекта есть имя, пишем обработчики событий при наведении мыши, производим обработку... в чем трудности?
у экземпляра мувика с текстом есть имя ... в чем трудности?
Подозреваю: нужна подсветка текста при наведении (наверно кусочек текста в textfield).
Juice_Green
19.04.2010, 14:55
ant.dev, уверен, это не изменит в корень реализацию
Подозреваю: нужна подсветка текста при наведении (наверно кусочек текста в textfield).
Не совсем, подсветить (либо увеличить где-то в 1,5 раза) надо объект, который постоянно движется, назовем его подвижный куб ))
у экземпляра мувика с текстом есть имя, у экземпляра перемещаемого объекта есть имя, пишем обработчики событий при наведении мыши, производим обработку... в чем трудности?
про имена конечно я в курсе, да и про обработчики догадывался, но вот в них-то и проблема... не очень хорошо знаю скрипт... может хоть ткнете где почитать, или может хоть пример какой есть, ну или хоть мысль свою разверните ))
тема до сих пор актуальна и вопрос не решен.
народ, помогите плз ...(
mickfallout
26.04.2010, 16:03
у Вас проблема в том, что реакция должна быть на наведение указателя мышки на часть текста?
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;
}
}
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.