| Name |
セビラス |
| Date |
2008年11月28日 (金) 12時02分 |
| Message |
みなさん、こんにちは。Flash初心者です。
今回は、一定の数値で画像の色が変化させるスクリプトで
苦戦をしていますので、どうか知恵を貸していただけないでしょうか。
まず私は「FlashMotion2」というソフトを使っています。
※下に画像のURL貼ったけど、よくわからないかも。
■現在使用しているシンボルは3つ。
それらを1つのレイヤーに貼り付けています。
@テキストタイプ(あえて白色と言います)
名前:Num インスタンス名:シンボル1
Aボタンタイプ(青色)
名前:btn インスタンス名:シンボル2
Bムービークリップタイプ(黒色)
名前:maru インスタンス名:シンボル3
■アクションスクリプト■
キャンバス自体には・・・
1 stop();
2
3 var cnt:Number = 0;
Aのボタンには・・・
1 on(release)
2 {
3 Number = cnt++ ;
4 trace(cnt);
5}
Bのムービークリップですが、ボタンが貼ってあるレイヤーに貼る前に
タイムラン1には黒(フレームラベル:無記入)、
タイムラン2には赤(フレームラベル:red)の塗り潰し円を描き、
各アクションパネルに・・・
1 this.stop();
このムービークリップを、ボタンが貼ってあるレイヤーに貼り付けた後、
1 if(Number == 5){
2 gotoAndStop(red);
3 }
と、この様に入力して、
青いボタンを押せば、1・・・2・・・3と表示してくれるのですが、
5になった時に黒色の円が赤色に変化しないのです。
どのようにして、赤色に変化させるのでしょうか?
私の説明を解読する方が難しいかもしれませんが、
よろしくお願い致します。 |
| Home
or Link |
http://nana-house.cocolog-nifty.com/photos/uncategorized/2008/11/28/hari01.jpg |
Response
01
|
| 2008年11月28日
(金) 22時55分> joy
|
|
FreeMotion2の作法は知りませんが、クリップアクション・ボタンアクションが有効と仮定して、
キャンバス自体には・・・
1 stop();
2
3 var cnt:Number = 0;
Aのボタンには・・・
1 on(release)
2 {
3 cnt++ ;//定義した変数をカウントアップ
4 trace(cnt);
5}
Bのムービークリップですが、ボタンが貼ってあるレイヤーに貼る前に
タイムラン1には黒(フレームラベル:無記入)、
タイムラン2には赤(フレームラベル:red)の塗り潰し円を描き、
各アクションパネルに・・・
1 this.stop();
このムービークリップを、ボタンが貼ってあるレイヤーに貼り付けた後、
このムービークリップへの、クリップアクションで、
onClipEvent (enterFrame) {
if(_parent.cnt==5){//_rootの変数cntが5になったなら、
this.gotoAndStop("red");//自らのフレーム名 "red"に移動して停止する
}
}
となります。
|
|
Response
02
|
| 2008年11月29日
(土) 15時34分> セビラス |
|
joyさん>
ご回答有難う御座います。
joyさんから教えて頂きましたアクションスクリプト、
if(_parent.cnt==5){
このままだと4が表示された時に赤くなってしまったのですが、
cntをNumberに書き換えましたら、きちんと5の表示で赤く変化しました。
改めて、有難う御座いました。
|
|
Response
03
|
| 2008年11月29日
(土) 16時11分> joy
|
|
Aのボタンには・・・
1 on(release)
2 {
3 Number = cnt++ ;
4 trace(cnt);
5}
→
Aのボタンには・・・
1 on(release)
2 {
3 cnt++ ;//定義した変数をカウントアップ
4 trace(cnt);
5}
とし、
このムービークリップへの、クリップアクションで、
onClipEvent (enterFrame) {
if(_parent.cnt==5){//_rootの変数cntが5になったなら、
this.gotoAndStop("red");//自らのフレーム名 "red"に移動して停止する
}
}
とすれば、
5回目で、redに移動するはずです。
尚、同じNumberでも、意味が異なるので、2番目のNumberは不要だと思います。
キャンバス自体には・・・
1 stop();
2
3 var cnt:Number = 0;//変数 cntを、strictな型宣言(Number)で、定義し、初期値は0の意味
Aのボタンには・・・
1 on(release)
2 {
3 Number = cnt++ ;//変数 ctnの増分を、型宣言しない変数 Numberに代入の意味で、一度cntで変数定義してるので、ここで、Numberに代入する必要はないでしょう。
4 trace(cnt);
5}
|
|
Response
04
|
| 2008年11月30日
(日) 15時28分> セビラス |
|
joyさん>
あ、そうなるのですか。
よくよく確かめないと、ややこしくなってしまいますね。
細かい所まで、有難う御座います。
|
|