如何获取数组中的对象索引

哈米德·卡姆拉瓦

我已经看到了很多与此相关的话题,但是我的问题没有解决。这可能是一种简单的方法,但我不知道...

我正在尝试在像这样的数组中获取对象索引:

var test:Array = new Array();

for (var row:Number = 0; row < 2; row++) {
    test[row] = [];
    for (var column:Number = 0; column < 3; column++) {
        test[row][column].addEventListener(MouseEvent.CLICK, objClicked);
        test[row][column] = new ballShape(column, column, row);
        addChild(test[row][column]);
    }
}

function objClicked(evt:MouseEvent):void {
    // Here must return Object index in array
}

PS:

我可以获取int数组中的项目索引,但是我不了解对象。

任何想法,将不胜感激。

编辑 :

ballShape.as

package  {
    import flash.display.Graphics;
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import fl.motion.Color;

    public class ballShape extends Sprite {

    private var shapeId:uint;
    private var currentPosition:uint;
    private var arrayPosition:uint;
    private var color:Number;

    public function ballShape(Id:uint, currPos:uint, arrPos:uint) {
        setId(Id);
        setArrayPos(arrPos);
        setCurrentPos(currPos);

        //trace("Array : " + arrPos);
        //trace("Curr : " + currPos);

        if (arrPos == 0) {
            var posX:uint = 60;
        } else {
            var posX:uint = (arrPos + 1) * 60;
        }
        if (currPos == 0) {
            var posY:uint = 42;
        } else {
            var posY:uint = (currPos + 1) * 42;
        }
        if (arrPos == 0) {
            color = 0xFF0000;
        } else {
            color = 0x00FF00;
        }
        graphics.beginFill(color, 1.0);
        graphics.drawCircle(posX, posY, 20);
        graphics.endFill();     
        this.addEventListener(MouseEvent.CLICK, Clicked);
    }
    public function setId(Id:uint):void {
        shapeId = Id; 
    }
    public function getId():uint {
        return shapeId;
    }
    public function Clicked(evt:MouseEvent):void {
        //return getId();
        trace("Ball id is "  + getId());
        trace("Array id is " + getArrayPos());
        trace("PositionInArray id is "  + getCurrentPos());
        //return arrayPosition;     
    }
    public function setCurrentPos(Pos:uint):void {
        currentPosition = Pos;
    }
    public function getCurrentPos():uint {
        return currentPosition;
        trace(currentPosition);
    }
    public function setArrayPos(arrayPos:uint):void {
        arrayPosition = arrayPos;
    }
    public function getArrayPos():uint {
        return arrayPosition;
        trace(arrayPosition);       
    }
    public function addBead(arrayId, currPos):void {

    }
}

}
普特万德

我建议在您的课程中添加rowcolumn作为公共变量ballShape这样,您可以像这样获得它们:

function objClicked(evt:MouseEvent):void {
    trace(ballShape(evt.target).getCurrentPos(), ballShape(evt.target).getArrayPos());
}

也许将这两行转过来:

test[row][column].addEventListener(MouseEvent.CLICK, objClicked);
test[row][column] = new ballShape(column, column, row);

成为 :

test[row][column] = new ballShape(column, column, row);
test[row][column].addEventListener(MouseEvent.CLICK, objClicked);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取此数组中对象的索引?

来自分类Dev

如何从数组中快速获取对象索引

来自分类Dev

如何获取JSON数组中对象的索引?

来自分类Dev

如何使用angular获取数组中对象的索引?

来自分类Dev

如何获取对象内部数组元素的索引?

来自分类Dev

Linq代码从列表中的对象获取数组中对象的索引

来自分类Dev

获取嵌套对象数组中父对象的索引

来自分类Dev

如何连接到数组中的“索引”对象

来自分类Dev

如何从Areablock的索引中获取对象?

来自分类Dev

如何获取NSMutablearray中特定对象的索引?

来自分类Dev

如何获取跨越对象中字符的索引?

来自分类Dev

如何从对象数组中获取关闭对象?

来自分类Dev

如何获取数组中项目的索引?

来自分类Dev

如何获取数组中索引的总和

来自分类Dev

如何从输入中获取@name 的数组索引?

来自分类Dev

如何获取具有匹配特定条件的属性值的数组中对象的索引?

来自分类Dev

如何获取数组的索引

来自分类Dev

从具有键值的字典数组中获取对象的索引

来自分类Dev

在JavaScript上的JSON对象中获取数组的索引

来自分类Dev

通过键名而不是索引获取数组中的对象

来自分类Dev

如何从PHP中的多维数组获取父数组索引

来自分类Dev

如何获取对象中的数组值?

来自分类Dev

如何从PHP对象数组中获取数据?

来自分类Dev

如何从数组中获取关键对象

来自分类Dev

如何快速从数组中获取对象

来自分类Dev

如何从数组中获取对象的值?

来自分类Dev

如何获取对象中包含的数组的长度?

来自分类Dev

如何从对象数组中获取属性?

来自分类Dev

如何获取对象中的子数组值

Related 相关文章

热门标签

归档