- ベストアンサー
即自動計算のスクリプト
あらかじめ出力される数値が指定されたボタンをクリックされるごとに、テキストエリアに数値が加算されるようなスクリプトはどのように書いたらいいのでしょうか?お願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ActionScript の変数の内容を表示するには、テキストエリアのタイプを「ダイナミックテキスト」にし、表示する変数の名前を指定します。 ボタンに、押された時に指定した変数に数値を加算するスクリプトを設定して、出来上がりです。 仮に、計算の結果を保持する変数の名前を sum とします。 テキストツールでテキストエリアを作り、タイプを「ダイナミックテキスト」、変数の項目に「 sum 」を設定します。これで、結果の表示は完成です。 次に、ボタンが押された時に、sum に値を加算していくスクリプトを設定します。 例えば、ボタンが押されるたびに 10 ずつ加算するスクリプトは、次のようになります。このスクリプトはボタンのインスタンスに設定してください。 (↓このスクリプトをコピーして利用する場合は、各行頭の全角のスペースを、全て半角のスペースかタブに置き換えてください。このまま使うとシンタックスエラーになります) on( press ) { //ボタンが押された時、10 加算 sum += 10 ; } ボタンが押されると+10 されるのはいいのですが、これだけでは、ボタンが押される度に際限なく加算されていってしまいます。この例では加算値が 10 程度なので大したことはありませんが、大きな値を加算している場合は sum がオーバーフロー(桁あふれ)を起こし、変数の値が破壊される可能性も考えられます。 ボタンが押されても、ある一定数以上加算されないようにするには、if 文を使って、sum の値を監視するようにするといいでしょう。 例えば sum の上限が 999 で、それ以上は加算されないようにするスクリプトは、 on( press ) { //ボタンが押された時、10 加算 sum += 10 ; //上限 999 を超えないようにする if ( sum > 999 ) { sum = 999 ; } } ところで、sum の初期値は特に設定しなくても計算自体はできますが、初期値がない場合は、最初はテキストエリアには何も表示されません。 フレームアクションで、 sum = 0 ; このように sum の初期値を設定しておくと、テキストエリアに最初から0が表示されるので、見ている人には分かりやすくなるかと思います。 長くなってすみませんでした。 不明な点がありましたら、補足してください。