PDA

Просмотр полной версии : Слежка за подвижным объектом


willsee
18.04.2010, 18:26
в общем ситуация такова:
1)Есть тексть и объект, который перемещается по сцене. Нужно сделать, чтобы при наведении курсора на определенное слово этот объект подсвечивался ну или как-то реагировал (как - эт уже не важно),
2)в то же время, когда курсор наводится на сам объект - должен выскакивать коментарий к этому объекту

Вторую задачу можно решить сделав объект кнопкой, а вот как решить первую? может как-нить через гиперссыслку или еще как? буду благодарен за помощь

P.S. to moderators - я не знаю как точно обозвать смысл моего вопроса.

Juice_Green
19.04.2010, 14:03
у экземпляра мувика с текстом есть имя, у экземпляра перемещаемого объекта есть имя, пишем обработчики событий при наведении мыши, производим обработку... в чем трудности?

ant.dev
19.04.2010, 14:29
у экземпляра мувика с текстом есть имя ... в чем трудности?

Подозреваю: нужна подсветка текста при наведении (наверно кусочек текста в textfield).

Juice_Green
19.04.2010, 14:55
ant.dev, уверен, это не изменит в корень реализацию

willsee
20.04.2010, 00:23
Подозреваю: нужна подсветка текста при наведении (наверно кусочек текста в textfield).

Не совсем, подсветить (либо увеличить где-то в 1,5 раза) надо объект, который постоянно движется, назовем его подвижный куб ))

у экземпляра мувика с текстом есть имя, у экземпляра перемещаемого объекта есть имя, пишем обработчики событий при наведении мыши, производим обработку... в чем трудности?

про имена конечно я в курсе, да и про обработчики догадывался, но вот в них-то и проблема... не очень хорошо знаю скрипт... может хоть ткнете где почитать, или может хоть пример какой есть, ну или хоть мысль свою разверните ))

willsee
26.04.2010, 11:27
тема до сих пор актуальна и вопрос не решен.
народ, помогите плз ...(

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;
}
}
}