Working with Advanced Text Layout
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
public class Text extends Sprite {
private var _field:TextField;
private var _highlight:Sprite;
public function Text( ) {
_field = new TextField( );
_field.border = true;
_field.background = true;
_field.multiline = true;
_field.wordWrap = true;
_field.selectable = false;
_field.width = 400;
_field.height = 400;
addChild(_field);
_field.text = "Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text ";
_field.addEventListener(MouseEvent.CLICK, onClick);
_highlight = new Sprite( );
addChild(_highlight);
}
private function onClick(event:MouseEvent):void {
var index:int = _field.getCharIndexAtPoint(mouseX, mouseY);
var rectangle:Rectangle = _field.getCharBoundaries(index);
_highlight.graphics.clear( );
_highlight.graphics.lineStyle(0, 0, 0);
_highlight.graphics.beginFill(0x00FFFF, .25);
_highlight.graphics.drawRect(rectangle.x, rectangle.y, rectangle.width, rectangle.height);
_highlight.graphics.endFill( );
}
}
}
Related examples in the same category