我收到了一个问题,我创建了一个新的孩子,一个圆圈,但我不知道如何给它一个ID,所以我可以随时访问它,即使我移动它,问题是我的功能new_sond创建超过1个对象,所以我想给他们在功能的ID例如1对象“1”为第二个“2”等,我没有任何想法如何做到这一点,我试图寻找,但没有找到任何东西,跟踪(名称)becouse我创建具有相同名称的多个对象不会像有用...将ID添加到新创建的对象as3
这里是一个用于创建对象的代码:
function new_sond(event:MouseEvent):void
{
if (i<9)
{
i++;
id[i]=i;
var btn:Sprite = new Sprite();
btn.graphics.beginFill(0x0066FF, 1);
btn.graphics.drawCircle(400, 300, 25);
btn.graphics.endFill();
var textField = new TextField();
textField.mouseEnabled=false;
textField.text = i;
textField.width = 10;
textField.height = 17;
textField.x = 395; // center it horizontally
textField.y = 292; // center it vertically
cx[i]=textField.x;
cy[i]=textField.y;
btn.addChild(textField);
this.addChild(btn);
}
}
这是代码移动对象:
this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownH);
this.addEventListener(MouseEvent.MOUSE_UP, mouseUpH);
function mouseDownH(evt:MouseEvent):void {
var object = evt.target;
object.startDrag();
}
function mouseUpH(evt:MouseEvent):void {
var obj = evt.target;
obj.stopDrag();
}
的问题是如何做我举一个ID给每个创建的对象,所以我可以检查它,即使我移动的对象。 非常感谢你!
为什么你用相同的名字创建对象的唯一名称效用?你的代码似乎只能创建多达9个对象,并且每次增加'i'。它甚至不设置'name'属性。 id [i] = i;'的目的究竟是什么?对我来说,它仍然听起来像你应该继承Sprite类并创建你自己的属性来跟踪。你是否想要创建自己的唯一ID以及为什么'name'不满足这个要求? –