使用它来比较对象 (Actionscript 3)

Posted

技术标签:

【中文标题】使用它来比较对象 (Actionscript 3)【英文标题】:Using this to compare objects (Actionscript 3) 【发布时间】:2012-02-15 09:16:37 【问题描述】:

我试图在 _ar_cards 数组中查找事件调用者的位置,但是这段代码不起作用。怎么了?

for( var i = 0; i < 3; i++ )
    
        if(this == _ar_cards[i])
        
            mouseEvent.target.alpha = 0.1;
        
    

【问题讨论】:

【参考方案1】:

只需在循环中添加跟踪函数即可:

for (var i:int = 0; i < 3; ++i)

    trace(this.name, _ar_cards[i].name);

    if (this == _ar_cards[i])
    
        trace("It works!");
        mouseEvent.target.alpha = 0.1;
    

你会发现问题出在哪里。

【讨论】:

我明白了......但是有什么办法可以做我想要完成的事情吗?如果是,怎么做? 是的,这是可能的。但是有很多原因,为什么您的代码不起作用。请显示跟踪函数的结果。 似乎this 引用了root 1。但是_ar_cards 中只有 A、B、C 对象。试试这个 `if (mouseEvent.target == _ar_cards[i])'。

以上是关于使用它来比较对象 (Actionscript 3)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Actionscript 3.0 中使用补间形状?

如何解决 用于 actionscript 3.0 编译的 java 虚拟机内存不足

ActionScript 3规范为PDF?

ActionScript 3 使用Matrix翻转对象

ActionScript 3 使用modulo捕捉对象

ActionScript 3 使用sprite作为数组来保存对象