電子書籍の厳選無料作品が豊富!

paraflaのアクションスクリプトについて。
paraflaで、10枚の画像をループで連続表示して、
一度enterでどれかの画像でstopさせてから
さらにもう一度enterでその画像に絡めた機能を呼び起こしたいんですが、
スクリプトの書き方がわかりません。

同じボタンで一回目は停止、二回目に実行という書き方を教えて頂きたいです。
まだflash始めたばかりで。。。難しいですが楽しいですね。
どなたかアドバイスありましたら宜しく願い致します。

ちなみに今こんな感じです。
例えば5枚目の画像の場所に

on(keyPress "<Enter>") {実行する内容;}
-
on(keyPress "<Down>") {gotoAndPlay("3");}

これだとenterで停止しないでいきなり実行。。。
Downはループ再開です。
いきなり実行でも良いのですが、
理想は一回停止してその画像を表示させて
違ったらDownでループ再開って感じを目指しています。
なにをどう足せばそうなるのでしょうか?
宜しくお願い致します。

A 回答 (1件)

> 同じボタンで一回目は停止、二回目に実行という書き方



「フラグとなる変数(または数値カウント用の変数)」 を用意して
<Enter> を押す度にその変数の値を変えると同時に
その変数の値によって動作を切り替えれば良いと思います。

日常生活に喩えると

 居酒屋にのれんを準備
 店先にのれんが出てる
   →営業中(店に入ろう)
 店先にのれんが出ていない
   →準備中(家に帰ろう)

みたいな感じです。


===具体例============

メインの階層のフレーム1に
10枚の画像を入れた内部が10フレームの「pic_mc」というインスタンス名を付けたスプライトと
ボタンを用意したとします(【下の図↓】 参照のこと)。

そのメイン階層のフレーム1に書くスクリプト例↓

-----------------
//この階層の再生を停止
stop();

//変数 flg の値を false にしておく
flg = false;
-----------------


そのメイン階層のフレーム1に置いたボタン書くスクリプト例↓

-----------------
on(keyPress "<Enter>") {
//もし変数 flg の値が false であれば
if(!flg){
//「pic_mc」の再生を停止
pic_mc.stop();
//変数 flgの値を true にする
flg = true;
//それ以外 (変数 flg が true) であれば
}else{
//この階層をフレーム3から再生
gotoAndPlay(3);
//変数 flgの値を false にする
flg = false;
}
}
-----------------


基礎的な説明として...
true や false をブール値(Boolean) と言います。
真or偽 のように表裏しかない値です。

if(○○){△△} は if文 ですが
この if(○○){△△} は
○○ の部分が true[真] であれば △△ を実行せよ という文です。

「!」 は論理否定(NOT)演算子 です。

したがって上記スクリプトにある
if(!flg){△△} の場合は
「flg の値が true でなければ △△ を実行せよ」
という意味になります。
 
 
 
 
> その画像に絡めた機能を呼び起こしたい

それは状況によるので具体案は書けません。

上の場合だと
「変数 flg の値が true であって pic_mc 内のフレームが 1 のとき…」
みたいな感じでできるかも(できないかも)しれません。

 …略…
//それ以外 (変数 flg が true) であって
}else{
//もしpic_mc内のフレームが1であれば
if(pic_mc._currentframe == 1){
//この階層をフレーム3から再生
gotoAndPlay(3);
//もしpic_mc内のフレームが2であれば
}else if(pic_mc._currentframe == 2){
//この階層をフレーム13から再生
gotoAndPlay(13);
//もしpic_mc内のフレームが3であれば
}else if(pic_mc._currentframe == 3){
//この階層をフレーム22から再生
gotoAndPlay(22);
 …略…



上記の最初のスクリプトを動作検証するために試作したPFLの
イベントリスト と スクリプトエディタ の様子↓
「paraflaのアクションスクリプトにつ」の回答画像1
    • good
    • 0
この回答へのお礼

おそろしく返信が遅くなりすみませんでした。
回答があったことに気がつかず、質問の整理をして気付きました。
今更で大変申し訳ありません。
参考になりました!
ありがとうございました。

お礼日時:2011/02/04 23:26

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