アプリ版:「スタンプのみでお礼する」機能のリリースについて

リンケージしたムービークリップicon(10px×10pxの四角いシェイプ)があります。
それを3つstageにずらして配置しています。
さらにそのiconの中にはテキストボックスnumがはいちしてあり、
番号を出力するようにしてあります。(0,1,2です)

そこまでは問題なくできたのですが、
timerで順番に色を変えていきたいと思っています。
5秒ごとに0⇒1⇒2と現在フォーカスが当たっているものだけ
別の色にするというものです。

ただ、動的に生成したムービークリップに
timerアクションのfunctionから
どうやってアクセスしたらよいのかわかりません。

配列アクセス演算子やchildnameなどいろいろ試したのですが・・・

以下、コードの抜粋です。


for(var i = 0; i < 3 ; i++){

//アイコン
var icon = new Icon();

icon.x = i*20;

icon.num.text = i;

addChild(icon);

}





var snum:int = 1;//スライドショーナンバー

//スライドタイマー
var timer:Timer = new Timer(5000);//スライドタイマー
timer.addEventListener(TimerEvent.TIMER, _timerAction);
timer.start();

//スライドタイマー
function _timerAction(e:TimerEvent):void {

(※※※ここの記述がわかりません※※※).textColor = 0x000000;

snum++;

//数を超えたらリセット
if(snum >= 3) {

snum = 0;

}

}

A 回答 (1件)

> 0⇒1⇒2と現在フォーカスが当たっているものだけ


> 別の色にするというもの

↑この部分の意味が全くわかりません。
(フォーカスが当たっているものって普通は1つでは???)

とりあえず上で書いた部分は無かったことにします。



===============

上のことは無いものとして
さらにもっともっと問題をシンプルにしませんか?

書かれたスクリプトを次のようにするとどうなりますでしょう?

--------------------------
for (var i = 0; i < 3; i++) {
var icon = new Icon();
icon.x = i * 20;
icon.num.text = i;
addChild(icon);
}

icon.x = 200;
--------------------------

別の3つの Icon クラスのインスタンスに
同じ名前(同じ参照変数名)を付けたら
3つ全てを管理できなくなるでしょう?

「文字の色」とか「Timer」とか
そういう問題以前のことだと思います。



上のスクリプトを次のように変えれば問題(解決策)が見えてきませんか?

-------------------------------
for (var i = 0; i < 3; i++) {
this["icon" + i] = new Icon();
this["icon" + i].x = i * 20;
this["icon" + i].num.text = i;
addChild(this["icon" + i] );
}

this.icon0.x = 0;
this.icon1.x = 100;
this.icon2.x = 200;
-------------------------------


または,次のように変えてみましょう。

-------------------------------
for (var i = 0; i < 3; i++) {
this["icon" + i] = new Icon();
this["icon" + i].x = i * 20;
this["icon" + i].num.text = i;
addChild(this["icon" + i] );
}

for (i = 0; i < 3; i++) {
this["icon" + i].x = i * 100;
}
-------------------------------


Google検索「配列アクセス演算子」
http://www.google.co.jp/search?hl=ja&q=%E9%85%8D …
    • good
    • 0
この回答へのお礼

いつもありがとうございます。
なるほど。。。

そもそも、動的に生成されたmovieClipが
偶然できていただけで、ちゃんと名前のついたものが、
できたわけではなかったんですね。。。

だから、いくらやってもアクセスできなかったんですね。。。

助かりました。
ありがとうございます!!

お礼日時:2010/11/22 22:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!