可以在flash as3中的动态textField中创建一个单词作为按钮吗?
答案 0 :(得分:4)
实际上与这个问题的其他答案相反,你可以(有点)。通过在Textfield
对象的htmlText
属性的字符串值中使用图像标记,您可以使用库中的显示对象作为其源。然后,您可以使用Textfield
对象的getImageReference()
方法获取具有库中显示对象的图像标记作为其源。下面是一个例子:
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
答案 1 :(得分:2)
TextField中没有addChild方法。但是你可能会欺骗并将按钮放在TextField上(即将其添加到TextField的容器中)。
答案 2 :(得分:2)
简短的回答,没有。您需要创建一个包含按钮和文本字段的包装类/ MovieClip。
答案 3 :(得分:2)