Actionscript 3 As3文本字段问题
我试图制作一个按钮(movieClip button),当你将鼠标悬停在它上面(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。同一类中相同格式的其他文本字段工作正常。
鼠标悬停在它上面
),它会调用一个显示一些文本的函数。唯一的问题是它不起作用: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);
}