読者です 読者をやめる 読者になる 読者になる

ObjectContainer3DとかのmaterialLibrary(Dictionary)に網羅的にアクセスする

ActionScript3.0 Away3D

Away3DのgeometoryLibraryとかanimationLibraryとかmaterialLibraryとかはDictionary型の拡張として定義されている。
オブジェクトをキーとした連想配列風なものなのだけれど、格納されているキーやオブジェクトに網羅的にアクセスする方法を見つけられずにいた。

一応こういうスレッドがあって

[away3d] problem accessing material property of loaded model

ObjectContainer3Dからアクセスするのではなく、geometoryLibraryからgeometoryにアクセスし、そこから面一つ一つに対してマテリアルへのアクセスを試みるという手法。

エレガントじゃないよなあ。

とか思って「flex dictonary for each」でぐぐったら

ActionScript 3.0 のプログラミング > ActionScript 3.0 の基本データ型およびコアクラス > 配列の操作 > 結合配列

って、思いっきりfor eachが使えるや。
ドキュメントって大事。