我想创建一个外部ActionScript 3,当MOUSE_UP
文本发生变化,MOUSE_DOWN
时不会显示任何文字。
这是我制作的代码:
this.parent.getChildByName("planet_name").text = "EARTH";
我刚刚提出这个代码来表明观点。 = P
答案 0 :(得分:0)
所以外部你是指代码被调用的displayobject(movieclip,sprite等)的父级吗?
假设MOUSE_UP和MOUSE_DOWN位于您编写代码的displayObject上,您可以执行以下操作:
this.addEventListener(MouseEvent.MOUSE_UP, handleMouseUp);
this.addEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown);
function handleMouseDown(event : MouseEvent) : void {
this.parent.textFieldName.visible = false;
}
function handleMouseUp(event : MouseEvent) : void {
this.parent.textFieldName.visible = true;
}
答案 1 :(得分:0)
首先在文档类(主类)中添加它:
public static var me:DocumentClassName;
,这在你的文档类构造函数中:
me = this;
在外部AS3文件中,只需添加2个eventListeners:
this.addEventListener(MouseEvent.MOUSE_UP, mouseup);
this.addEventListener(MouseEvent.MOUSE_DOWN, mousedown);
function mouseup(e:MouseEvent):void
{
DocumentClassName.me.textFieldName.text = "EARTH";
}
function mousedown(e:MouseEvent):void
{
DocumentClassName.me.textFieldName.text = " ";
}
使用文档类名更改DocumentClassName。它通常是主要的。还要使用对象的实例名称更改textFieldName。
答案 2 :(得分:0)
请先检查。 this.parent.getChildByName(“plant_name”)是否是DynamicText
如果没有,则必须更改DynamicText的实例。
什么是“plant_name”实例?如果是MovieClip的实例,则更改DynamicText。
<强> How to changed?
强>
我将省略更详细的描述。源代码,请参考以下链接。 正如您将看到的源代码,有一个DragAndDrop类。 此类这类对象在舞台上的作用是所有初始化并负责管理。
哦,并且通过班级名称必须以大写字母开头。这是开发人员的习惯承诺。
<强>古德勒克强>