Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 As3文本字段问题_Actionscript 3_Flash_Textfield_Event Listener - Fatal编程技术网

Actionscript 3 As3文本字段问题

Actionscript 3 As3文本字段问题,actionscript-3,flash,textfield,event-listener,Actionscript 3,Flash,Textfield,Event Listener,我试图制作一个按钮(movieClip button),当你将鼠标悬停在它上面(鼠标悬停在它上面),它会调用一个显示一些文本的函数。唯一的问题是它不起作用:p。或者至少不是我想要的工作方式。问题是当我第一次悬停在它上面时,什么也没有显示。如果我把鼠标从movieclip上移开,再把鼠标悬停在上面,它就可以正常工作了。这是我的密码: private var priceString:TextField=new TextField() 我自己看不出问题所在:s。同一类中相同格式的其他文本字段工作正常。

我试图制作一个按钮(movieClip button),当你将鼠标悬停在它上面(
鼠标悬停在它上面
),它会调用一个显示一些文本的函数。唯一的问题是它不起作用:p。或者至少不是我想要的工作方式。问题是当我第一次悬停在它上面时,什么也没有显示。如果我把鼠标从movieclip上移开,再把鼠标悬停在上面,它就可以正常工作了。这是我的密码:

private var priceString:TextField=new TextField()

我自己看不出问题所在:s。同一类中相同格式的其他文本字段工作正常。getStage变量持有阶段访问权。(它与其他文本字段一起使用)。奇怪的是,如果我尝试添加一个movieclip而不是textfield,它也可以正常工作

它应该是这样的:

如果您想在鼠标悬停在按钮上时创建工具提示,您可能应该将
文本字段
放入
精灵
对象中。将
TextField
添加为
Sprite
的子级,将
Sprite
添加为stage的子级。然后,在
Sprite
的alpha值之间切换,或者使用
Sprite.visible
切换其可见性

PS:有关详细教程,请参见:

编辑:

根据您提供的图像,您需要在按钮的构造函数中创建一个精灵,并将该精灵的
visible
属性设置为
false


在按钮的鼠标悬停处理程序中,将精灵的
visible
属性设置为
true
,并在鼠标悬停处理程序中重置它。

setTextFormat
需要在设置
text
属性后执行。如果出于任何原因,在设置
textFormat
之前需要进行格式化,请使用


priceString.defaultTextFormat=priceStringFormat

我不确定这正是我想要的,谢谢。我添加了一个链接,这样你可以更好地理解。
    private function addText(price:String):void{
        var priceStringFormat = new TextFormat;
        priceStringFormat.color = 0xFF0000;
        priceStringFormat.font = 'TradeGothic';    
        priceStringFormat.size = 30;
        priceString.x = 285;
        priceString.y = 15;
        priceString.setTextFormat(priceStringFormat);
        priceString.autoSize = TextFieldAutoSize.LEFT;
        priceString.text = "Upgrade Costs: " + price;
        getStage.addChild(priceString);
}