0

Is possible to make a word as button within the dynamic textField in flash as3?

Benny
  • 2,250
  • 4
  • 26
  • 39

4 Answers4

4

Actually contrary to the other answers for this question, you can(kind of). By using an image tag in a string value for a Textfield object's htmlText property you can use a display object in the library as its source. Then you can use the Textfield object's getImageReference() method to get the image tag which has the display object from the library as its source. Heres an example:

package 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.text.TextField;
    import flash.events.MouseEvent;

    public class Main extends Sprite 
    {
        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);

        }// end function

        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);

            var textField:TextField = new TextField()
            textField.width = 125;
            textField.height = 50;
            textField.htmlText = "This is a button <img id='myButton' src='MyButton'/> ";
            addChild(textField);

            var myButton:Sprite = textField.getImageReference("myButton") as Sprite;
            myButton.addEventListener(MouseEvent.CLICK, onMyButtonClick);

        }// end function

        private function onMyButtonClick(e:MouseEvent):void
        {
            trace("CLICKED!!!");

        }// end function

    }// end class

}// end package

enter image description here

Taurayi
  • 3,209
  • 2
  • 17
  • 15
  • nicely done. html is always a little wonky but +1 for it working – locrizak May 31 '11 at 14:16
  • @locrizak i agree, thats why I said "you can(kind of)". I do think that a button in a textfield can be achieved using the Text Layout Framework, but then again I'm not sure since I don't know that much about it. – Taurayi May 31 '11 at 14:22
  • 1
    @Taurayi Yeah I hear ya.. Haven't done flash in over a year (actionscript that is) but still remember most of it. – locrizak May 31 '11 at 14:23
  • @Taurayi: If I found, I will update here. Thanks for your kind response. – Benny Jun 02 '11 at 13:08
2

there's no addChild method in TextField. But you may cheat and place button over TextField (i.e. add it to container of a TextField).

Eugeny89
  • 3,797
  • 7
  • 51
  • 98
2

Short answer, no. You'd need to make a wrapper class/MovieClip containing both the button and text field.

locrizak
  • 12,192
  • 12
  • 60
  • 80