人気ブログランキング |
(Flash Lite)1.1ではインスタンス名がつけれない?

ボタンのシンボルを作成し、その中にダイナミックテキストを配置して、1フレーム目でそれぞれのボタンインスタンス内のダイナミックテキストを変更させることで、一つのシンボルで、複数のボタンを作ろうと思ってたんですが、Flash Liste 1.1 はどうやらインスタンス名が指定できないようです。

かといって、シンボル内のダイナミックテキストに割り当てた変数を使って、文字列を代入すると、そのシンボルから生成されたボタン全てが同じ文字列が入ってしまいます。

仕方ないので、ボタン毎にシンボルをつくことにしました。
部品の汎用化という点からは反しますが、仕方ないです。。
なんか、いい方法無いでしょうかね。。。

追記(2009/8/31):
どうやらムービークリップにはインスタンス名を付けることができ、それを使ってクリップ内のオブジェクトにアクセスできるようです。
例えば mc というインスタンス名のムービークリップがあって、その中に txt という変数名を持つダイナミックテキストがあった場合、 _root.mc.txt に文字列を代入することで、ダイナミックテキストの文字列を変更できるようです。

ただ、ボタンにインスタンス名はつけれないので、ボタン内のアップやオーバーフレームにムービークリップ配置して、インスタンス名つけてもボタン内ではムービークリップインスタンス名はサポートされないみたいですね。
ボタン内にインスタンス名付きで配置したムービークリップのフレームアクションに下記のスクリプトを書いてみました。
trace( getProperty("" , _name) );

出力されたのは instance8 というもので、設定したインスタンス名は返ってきませんでした。
後、ターゲットパスも下記スクリプトで取ってみましたが、やはりボタンとその中のムービークリップということでこちらで設定した名前は返ってこないっぽいです。
trace( getProperty("" , _target) );
 
出力の結果:/instance6/instance8

つまり、ボタンの中に入ったムービークリップを含むオブジェクトは外のスクリプトから操作不能ということです。
by jehoshaphat | 2009-08-26 04:32 | Flash/ActionScript


<< (Flash Lite)インス... (Flash Lite)フォー... >>