【问题标题】:AS3: How do i create instances from base class in loopAS3:我如何在循环中从基类创建实例
【发布时间】:2013-08-22 08:59:29
【问题描述】:

我想从for 循环中的基类创建一些实例。

我创建了一个 MovieClip 符号,并通过 Export for ActionScript 喜欢它。

我正在尝试从该基类创建一些实例。基类名称为Ball_Base。

for (var counter:uint = 1; counter <= 10; i++) {
    var "ball_instance" + counter:Ball_Base = new Ball_Base();
}

它得到以下错误:

Syntax error: expecting identifier before "ball_instance".

请告诉我我在这里缺少什么。

【问题讨论】:

  • 语法绝对不正确。我可以纠正它,但我不知道你想如何使用counter?

标签: actionscript-3


【解决方案1】:

您的代码不正确。

您的实例中必须有一个关于名称的属性,例如

public class Ball_Base {
    private var _name:String;

    public function get name():String
    {
        return _name;
    }

    public function set name(value:String):void
    {
        _name = value;
    }
}

当你在你的循环中,你这样做:

var myBall:Ball_Base = new Ball_Base();
myBall.name = "ball_instance" + counter;

最后,如果您需要将所有实例存储在内存中,请将它们添加到 ArrayCollection 中

var myArray:ArrayCollection = new ArrayCollection();
for (var counter:uint = 1; counter <= 10; i++) {
    var myBall:Ball_Base = new Ball_Base();
    myBall.name = "ball_instance" + counter;

    myArray.addItem(myBall);
}

【讨论】:

    【解决方案2】:

    如果我在上面的理解应该是:

    for (var counter:uint = 1; counter <= 10; counter++) {
        var instanceOfClass:Ball_Base = new Ball_Base();
            instanceOfClass.someVar = "ball_instance" + counter; // Assign some name to existing var in class
        var varName:String = instanceOfClass.someVar; // save that name in var for further operation
    }
    

    【讨论】:

    • 是的,你理解得很好,但我没有手动创建基类。我通过Export for ActionScript 选项创建基类。我怎样才能向基类添加一些变量?
    猜你喜欢
    • 1970-01-01
    • 2018-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 2020-03-31
    • 2018-04-02
    相关资源
    最近更新 更多