0

私は ActionScript 3.0 に非常に慣れていないので、優しくしてください。:P 私は単純な「カスタムガン」プログラムを作成しています。このプログラムでは、武器のさまざまな部分を循環させて、ユニークな外観にすることができます。たとえば、「バレル」と「マガジン」があります。各部分は、さまざまなオプションのフレームを持つムービークリップです。

親ムービー クリップ: 内のバレル フレームにはラベルが付けられ、それぞれに MC が付いています。そこにある各 MC には、「ペイント、ディテール、メタル、ライト」というラベルの付いた 4 つのレイヤーがあります。

現在のパーツの配列があります:

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

ここで必要なのは、その配列から特定の部分を削除することです。上記の例では、Bar.BarStandard.Paint を削除して代わりに Bar.BarExtended.Paint を追加するにはどうすればよいでしょうか?

うまくいけば、これは理にかなっていて、誰かが助けることができます! :C

4

1 に答える 1

2

配列を操作して配列内から値を削除するときは、spliceを使用します

スプライスの使用;

arrayName.splice(indexValue, deleteCount)
  • arrayName を配列の名前に置き換えます
  • 配列から削除する値が収まる位置に置き換える indexValue
  • deleteCount は、削除する値の量です

あなたのコードの例;

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

置き換えたい値は 2 番目の値なので、

paintList.splice(2,1)

そして、その位置に別の値を追加します。

arrayName[indexNumber] = newValue;

再びあなたのコードで;

paintList[2] = Bar.BarExtended.Paint;
于 2013-09-07T02:15:22.407 に答える