【问题标题】:How to take instance name which numbering by array and the number can be operated?如何取数组编号的实例名和可操作的编号?
【发布时间】:2017-05-14 18:28:47
【问题描述】:

以下 ActionScript 脚本的目的是允许玩家通过单击按钮移动,其中myarray 表示允许他们移动到的位置。

我无法让我的点击事件处理程序正常工作。例如,如何从MouseEvent事件中提取点击的(x, y)坐标以便进行进一步处理?

a.addEventListener(MouseEvent.CLICK, bergerak);
b.addEventListener(MouseEvent.CLICK, bergerak);
c.addEventListener(MouseEvent.CLICK, bergerak);
d.addEventListener(MouseEvent.CLICK, bergerak);

function bergerak (Event:MouseEvent) {
    var namatombol:String = Event.currentTarget.name;
    var myarray:Array = [];
    for (var i:int = 0; i < 3; i++) {
        myarray[i] = this["kotak" + i];
        if (namatombol == "a") {
            MovieClip(root).pemain.x = MovieClip(root).myarray[i].x;
            MovieClip(root).pemain.y = MovieClip(root).myarray[i].y;
        }
    }
}

【问题讨论】:

  • 我不明白...有什么问题?
  • 请变量事件不是以大写字母而是以事件开头
  • 我的问题是如何在 x = MovieClip(root).myarray[i].x;电影剪辑(根).pemain.y = 电影剪辑(根).myarray[i].y; ......myarray[i] 是影片剪辑的实例名称 i 是实例的编号,例如 shape1,shape2,shape 3

标签: arrays actionscript-3 flash button instance


【解决方案1】:

我了解到您愿意将播放器显示对象(如影片剪辑)移动到舞台上单击按钮的位置。在这种情况下,您的函数将如下所示:

function bergerak(event:MouseEvent):void
{
    MovieClip(root).pemain.x = event.target.x;
    MovieClip(root).pemain.y = event.target.y;
}

【讨论】:

  • 目标 .x 和目标 .y 等于 pemain1.x 和 pemain1.y 并且会继续 pemain100.x 和 pemain100.x?
  • 以同样的方式继续:for (var i:int = 0; i &lt; 3; i++) { myarray[i] = this["kotak" + i]; if (namatombol == "a") { MovieClip(root).pemain.x = event.target.x; MovieClip(root).pemain.y = event.target.y; } }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-03
  • 2021-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多