Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package
- {
- import flash.display.*;
- import flash.text.*;
- import flash.events.*;
- public class WordHighlighter extends Sprite
- {
- // Первое слово
- private var word1:Sprite;
- private var text1:TextField;
- // Второе слово
- private var word2:Sprite;
- private var text2:TextField;
- // Выделяющаяя фигура
- private var bgRect:Shape;
- public function WordHighlighter():void
- {
- // Создаем первый объект TextField и Sprite
- word1 = new Sprite();
- text1 = new TextField();
- text1.text = "Products";
- text1.selectable = false;
- text1.autoSize = TextFieldAutoSize.LEFT;
- word1.addChild(text1)
- text1.addEventListener(MouseEvent.MOUSE_OVER, mouseOverListener);
- text1.addEventListener(MouseEvent.MOUSE_OUT, mouseOutListener);
- // Создаем второй объект TextField и Sprite
- word2 = new Sprite();
- text2 = new TextField();
- text2.text = "Services";
- text2.selectable = false;
- text2.autoSize = TextFieldAutoSize.LEFT;
- word2.x = 75;
- word2.addChild(text2)
- text2.addEventListener(MouseEvent.MOUSE_OVER, mouseOverListener);
- text2.addEventListener(MouseEvent.MOUSE_OUT, mouseOutListener);
- // Добавляем экземпляры класса Sprite в иерархию отображения объекта WordHighlighter
- addChild(word1);
- addChild(word2);
- // Создаем объект Shape (прямоугольник с закругленными углами)
- bgRect = new Shape();
- bgRect.graphics.lineStyle(1);
- bgRect.graphics.beginFill(0xCCCCCC, 1);
- bgRect.graphics.drawRoundRect(0, 0, 60, 15, 8);
- }
- // Вызывается при перемещении указателя мыши над текстовым полем.
- private function mouseOverListener(e:MouseEvent):void
- {
- // Если родительский объект Sprite экземпляра TextField
- // не содержит выделяющую фигуру, перемещаем фигуру в этот объект.
- // DisplayObjectContainer.contains() возвращает true, если указанный
- // объект является потомком данного контейнера.
- if (!e.target.parent.contains(bgRect))
- {
- e.target.parent.addChildAt(bgRect, 0);
- }
- }
- // Вызывается когда указатель мыши не на текстовом поле.
- private function mouseOutListener(e:MouseEvent):void
- {
- if (e.target.parent.contains(bgRect))
- {
- e.target.parent.removeChild(bgRect);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement