• ベストアンサー

ボタンのクリックカウントでフレームを移動させたいのですが

過去ログも調べましたが解決しないので質問させていただきました;; どうかよろしくお願いします。 テキスト入力にユーザーに書き込んでもらった整数を変数namとして ボタンのクリックしたカウントがnamの数になった時でフレームを移動させたいのですがボタンにどのようなアクションを埋め込めばよろしいでしょうか? また現在のクリック数を表示するにはどうすればよろしいのでしょうか? ご回答お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.1

まず必要なインスタンスは3つですね。  入力用のテキストフィールド(テキスト入力)  出力用のテキストフィールド(ダイナミックテキスト)  ボタン(ボタンシンボルのインスタンス) この3つをステージ上に用意します。 そして, 入力用のテキストフィールド(テキスト入力)には, 「nyuuryoku」 というインスタンス名を付けたものとします。 出力用のテキストフィールド(ダイナミックテキスト)には, 「syuturyoku」 というインスタンス名を付けたものとします。 ボタンにはインスタンス名は不要です。 注意点ですが, 2テキストフィールドには変数名を付けないでください。 付けるのはインスタンス名のみです。 そして, それら3つのインスタンスがある _root(メインムービーのタイムライン) のフレームに, 次のように書いておきます。 ----------------------------- // 取りあえずストップ this.stop(); // 変数 count の初期化 var count = 0; ----------------------------- この _root に設定した 変数 count の数値を, ボタンクリックのたびに上げていって, 入力用のテキストフィールドに入力された数値と等しくなったとき, フレーム移動をさせれば良いということになります。 したがって, ボタンに書くスクリプトは次のようになります。 --------------------------------------------- on (release) { // 大切なエラー処理 // 入力されたテキストが無記入もしくは 0 であれば if (_root.nyuuryoku.text == "" || _root.nyuuryoku.text == 0) { // 出力テキストに警告表示(無くても良い) _root.syuturyoku.text = "1以上の数を入力してください"; } else { // それ以外の場合 // count の値に 1 を加算 _root.count++; // count の値を 出力テキストに表示 _root.syuturyoku.text = _root.count; // count の値が入力された値になれば if (_root.count == _root.nyuuryoku.text) { // 実際は play かどうかはわからない。 _root.play(); } } } ---------------------------------------------- > ユーザーに書き込んでもらった整数を変数namとして と書かれていますが, 変数namは登場しません。 登場させるのは面倒です。 もしnamが必要なのであれば, on (release) { の次の行にでも, nam = root.nyuuryoku.text; と書いてもらうと, 入力用テキストに書いた値をボタンクリック時に 変数 nam として取り出せますが。

taihendesu
質問者

お礼

なるほどいけました! 本当に適切なアドバイスをありがとうございます! 大変助かりました。

関連するQ&A