在Actionscript 3中,如何创建相同符号的多个实例?

时间:2015-05-15 03:24:11

标签: arrays actionscript-3 for-loop instances

虽然是编码,但我必须将同一个MovieClip的许多副本放在舞台上,每个副本都要按照代码方式进行操作

例如,我有一个名为MC的MovieClip,我希望将99个副本加载到舞台上,每个副本都在不同的x坐标中。我该怎么办?

我想这样做:

第1步:在库中,将MC转换为类

第2步:将以下代码放在场景的脚本中

var MyArray:Array = new Array

for (var i:int = 0; i<99;i++)
{
var MCInstance:MC = new MC
MC Instance = MyArray[i]
MovieClip.(MyArray[i]).x = i*30
}

那会有意义吗?

2 个答案:

答案 0 :(得分:2)

这可能是正确的想法,你的语法只是一点点。试试这个:

var myArray:Array = [];

for (var i:int = 0; i < 99;i++)
{
    var mc:MC = new MC();
    myArray[i] = mc;
    mc.x = i * 30
}

AS3样式约定:对变量名使用lowerCamelCase,尽管它们是可选的,但不要省略构造函数parens,并使用文字(source)创建数组。

答案 1 :(得分:1)

MovieClip添加到Array后,您可以将每个Stage推送到var myArray = []; for(var i:int = 0; i < 99; i++) { var myMc:MC = new MC(); addChild(myMc); myMc.x = myMc.width * i + 2; myMc.y = 10; myArray.push(myMc); }

<!-- Protected resources -->
    <http pattern="/api/**" create-session="never" use-expressions="true"
        entry-point-ref="oauthAuthenticationEntryPoint"
        access-decision-manager-ref="accessDecisionManager"
        xmlns="http://www.springframework.org/schema/security">
        <anonymous enabled="false" />
        <intercept-url pattern="/api/**"
            access="hasAnyRole('ROLE_USER','ROLE_ADMIN')" />
        <custom-filter ref="resourceServerFilter" before="PRE_AUTH_FILTER" />
        <!-- <access-denied-handler ref="oauthAccessDeniedHandler"/> -->
        <access-denied-handler ref="oauthAccessDeniedHandler" />
    </http>