ActionScript3.0 MouseEvent和TextChange

时间:2012-08-06 14:59:19

标签: actionscript-3 flash

我想创建一个外部ActionScript 3,当MOUSE_UP文本发生变化,MOUSE_DOWN时不会显示任何文字。

这是我制作的代码:

this.parent.getChildByName("planet_name").text = "EARTH";

我刚刚提出这个代码来表明观点。 = P

3 个答案:

答案 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?

  1. MovieClip点击
  2. CTRL + B
  3. 属性更改为DynamicText
  4. 我将省略更详细的描述。源代码,请参考以下链接。 正如您将看到的源代码,有一个DragAndDrop类。 此类这类对象在舞台上的作用是所有初始化并负责管理。

    DragAndDrop_Modification

    哦,并且通过班级名称必须以大写字母开头。这是开发人员的习惯承诺。

    <强>古德勒克