- ベストアンサー
アクションスクリプトでボタンを押すたびに足し算
Flash CS5上でボタンを押す毎に、設定した数を足していくフラッシュを作りたいのですが うまく動作してくれません。 予めボタンに数字を設定して(例えば100)それをクリックすると テキストフィールドに加算されていく。というものにしたいのですが… 1回クリックで100、2回目で200、…という感じです。 表面上ではボタンと現在の数字だけがあるだけのシンプルなものです。 どのようなアクションスクリプトを記述すれば良いのでしょうか。 詳しい方、教えていただけませんでしょうか? よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
最低条件の ActionScript の バージョン も書かれていませんし テキストフィールドの種類や条件も書かれていらっしゃいませんから 場合数が多すぎて回答できません。 というのが正直な(まともな)回答になります。 しかしそれでは何なので, こちらで勝手に条件を決めた回答をします (当然,条件外でもできますが,決めないと回答できないため勝手に決めます。) CS5 ですから勝手に, ActionScript 3.0 を使用するものとします。 また勝手に, テキストフィールドはダイナミックテキストフィールドであって初期代入値は「無」だったとします。 また勝手に, ダイナミックテキストフィールドはすでにステージ上に配置されていて「my_txt」というインスタンス名が付けてあるものとします。 また勝手に, 数値を加算するボタンもステージ上に配置されていて「my_btn」というインスタンス名が付けてあるものとします。 それら 「my_txt」 や 「my_btn」 が存在するタイムラインのフレームに書くスクリプト例↓ ------------------------------------ //1クリックでアップする数を設定 var up_num:Number = 100; //初期値 0 の変数 my_num を作成 var my_num:Number = 0; //ボタン「my_btn」クリック時に 関数numUp を実行 my_btn.addEventListener(MouseEvent.CLICK,numUp); //関数「numUp」の定義 function numUp(e:MouseEvent):void { //変数「my_num」の値を「up_num」の分加算 my_num += up_num; //その「my_num」の値を「my_txt」に表示 my_txt.text = String(my_num); } ------------------------------------ かなり無難な線(この路線だとニアピンするだろうという線)を詰めた例を書いたつもりですが 何か1つでも条件が変われば 根底が全て変わる(くつがえされる)可能性が十分あります。 何にしても 条件(=状況説明)が少なすぎです。
お礼
ありがとうございます。 ASはご推察の通り3.0です。最低条件書き忘れ申し訳ありません。 想定していただいた条件で完璧に動作しました。 急ぎで頼まれた作業&ASは初めてでしたので非常に助かりました。