Advertisement
Guest User

Untitled

a guest
Jul 30th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. package
  2. {
  3. import flash.display.*;
  4. import flash.text.*;
  5. import flash.events.*;
  6.  
  7. public class WordHighlighter extends Sprite
  8. {
  9. // Первое слово
  10. private var word1:Sprite;
  11. private var text1:TextField;
  12.  
  13. // Второе слово
  14. private var word2:Sprite;
  15. private var text2:TextField;
  16.  
  17. // Выделяющаяя фигура
  18. private var bgRect:Shape;
  19.  
  20. public function WordHighlighter():void
  21. {
  22. // Создаем первый объект TextField и Sprite
  23. word1 = new Sprite();
  24. text1 = new TextField();
  25. text1.text = "Products";
  26. text1.selectable = false;
  27. text1.autoSize = TextFieldAutoSize.LEFT;
  28. word1.addChild(text1)
  29. text1.addEventListener(MouseEvent.MOUSE_OVER, mouseOverListener);
  30. text1.addEventListener(MouseEvent.MOUSE_OUT, mouseOutListener);
  31.  
  32. // Создаем второй объект TextField и Sprite
  33. word2 = new Sprite();
  34. text2 = new TextField();
  35. text2.text = "Services";
  36. text2.selectable = false;
  37. text2.autoSize = TextFieldAutoSize.LEFT;
  38. word2.x = 75;
  39. word2.addChild(text2)
  40. text2.addEventListener(MouseEvent.MOUSE_OVER, mouseOverListener);
  41. text2.addEventListener(MouseEvent.MOUSE_OUT, mouseOutListener);
  42.  
  43. // Добавляем экземпляры класса Sprite в иерархию отображения объекта WordHighlighter
  44. addChild(word1);
  45. addChild(word2);
  46.  
  47. // Создаем объект Shape (прямоугольник с закругленными углами)
  48. bgRect = new Shape();
  49. bgRect.graphics.lineStyle(1);
  50. bgRect.graphics.beginFill(0xCCCCCC, 1);
  51. bgRect.graphics.drawRoundRect(0, 0, 60, 15, 8);
  52. }
  53.  
  54. // Вызывается при перемещении указателя мыши над текстовым полем.
  55. private function mouseOverListener(e:MouseEvent):void
  56. {
  57. // Если родительский объект Sprite экземпляра TextField
  58. // не содержит выделяющую фигуру, перемещаем фигуру в этот объект.
  59. // DisplayObjectContainer.contains() возвращает true, если указанный
  60. // объект является потомком данного контейнера.
  61. if (!e.target.parent.contains(bgRect))
  62. {
  63. e.target.parent.addChildAt(bgRect, 0);
  64. }
  65. }
  66.  
  67. // Вызывается когда указатель мыши не на текстовом поле.
  68. private function mouseOutListener(e:MouseEvent):void
  69. {
  70. if (e.target.parent.contains(bgRect))
  71. {
  72. e.target.parent.removeChild(bgRect);
  73. }
  74. }
  75.  
  76. }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement