【问题标题】:Remove a Movieclip from an Array从数组中删除影片剪辑
【发布时间】:2013-09-07 01:19:51
【问题描述】:

我是 ActionScript 3.0 的新手,所以请保持温和。 :P 我正在制作一个简单的“定制枪”程序,您可以在其中循环浏览武器的不同部分,使其具有独特的外观。例如,您有“桶”和“杂志”。每个部分都是一个带有用于不同选项的帧的影片剪辑。

父影片剪辑:桶 里面的框架都有标签,每个都有一个 MC。 里面的每个 MC 都有 4 层标记为“Paint, Details, Metal, Light”。

我有一个当前零件的数组:

var paintList:Array = new Array (Base.Paint, Bar.BarStandard.Paint, Mag.MagStandard.Paint /*, etc.*/);

现在我需要从该数组中删除一个特定的部分。那么对于上面的例子,我如何只删除 Bar.BarStandard.Paint 而添加 Bar.BarExtended.Paint?

希望这是有道理的,有人可以提供帮助! :C

【问题讨论】:

    标签: arrays actionscript-3 flash movieclip flash-cs6


    【解决方案1】:

    在处理数组并从数组中删除值时,您使用 splice

    使用拼接;

    arrayName.splice(indexValue, deleteCount)
    
    • arrayName 你用你的数组名替换
    • indexValue 替换为要从数组中删除的值所在的位置
    • deleteCount 是您要删除的值的数量

    以您的代码为例;

    var paintList:Array = new Array (Base.Paint, Bar.BarStandard.Paint, Mag.MagStandard.Paint, etc.);
    

    您要替换的值是第二个值,因此

    paintList.splice(2,1)
    

    并为该位置添加另一个值。

    arrayName[indexNumber] = newValue;
    

    再次使用您的代码;

    paintList[2] = Bar.BarExtended.Paint;
    

    【讨论】:

    • 谢谢,这很有帮助。使用它,我可以将零件保存在数组中的特定索引中,因此如果我确实走这条路,至少会更容易。谢谢你。 :)
    猜你喜欢
    • 2014-10-24
    • 2011-07-13
    • 2014-06-30
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 2011-01-19
    • 2011-08-10
    • 1970-01-01
    相关资源
    最近更新 更多