ActionScript 3.0はじめの一歩

第3回 変数と条件分岐

この記事を読むのに必要な時間:およそ 5 分

技術評論社より好評発売中の「速習Webデザイン ActionScript 3.0」をテキストに,ActionScript 3.0の基本がわかる充実の2日間「林 拓也のプログラミング未経験者向けActionScript 3.0入門講座」を開催いたします。詳細はこちらでご確認ください。

今回は変数と条件分岐を扱います。変数は数学でもおなじみの概念です。条件分岐は,状況に応じてどの処理を実行するかを判断する構文です。変数の値を調べて状況を判断することが多く,変数と一緒に学習していきます。

変数の宣言と型指定

変数は値が変化する可能性のある情報を扱うために使用します。

前回次のようなスクリプトでムービークリップインスタンス"star_mc"が5度ずつ回転するアニメーションを作成しましたが,これを例に考えてみます。

スクリプト1

01: star_mc.addEventListener(Event.ENTER_FRAME, xEnterFrame);
02: function xEnterFrame(evt) {
03:   star_mc.rotation += 5;
04: }

このスクリプトでは回転スピードが5に固定されていますが,この値が何かのキッカケで増減するように変更するとします。すると,この5という値を変数に置き換えて管理することになります。

変数を使う場合,変数の「宣言」を行う必要があります。変数の宣言は次の書式のようにvarキーワードを使います。

var 変数;

変数名は基本的に任意のものをつけられますが,次のようなルールでつけておくのが一般的です。

  • 半角英数文字と「_」(アンダースコア),「$」(ドル記号)のみを使う
  • 1文字目を数字で始めない
  • ActionScriptの語として使われているものをそのまま変数名として使用しない

変数の宣言時にはその変数がどのような種類のデータを扱うかを指定する「型指定」も行うようにします。型指定は,次の書式のように宣言した変数の後に「:」(コロン)をつけて扱うデータの型を指定します。

var 変数:データ型;

主なデータ型には次のようなものがあります。

データ型を表す語説明
Number数値全般
int整数値
uint正の整数値
String文字の値(文字列)
Booleanブール値(true/false)
MovieClipムービークリップインスタンス
TextFieldダイナミックテキスト,テキスト入力

変数の値の設定にはプロパティの設定のときと同様に「=」(イコール)を使います。

値の設定は,宣言とは別の行で行っても構いませんし,宣言の行で行っても構いません。

宣言後に別の行で設定

var 変数:データ型;
変数 = 値;

宣言と同じ行で設定

var 変数:データ型 = 値;

スクリプト1を,変数を使って書き換えてみます。変数名はspeedとし,整数を扱うものとします。

01: var speed:int = 5;
02: star_mc.addEventListener(Event.ENTER_FRAME, xEnterFrame);
03: function xEnterFrame(evt) {
04:   star_mc.rotation += speed;
05: }

さらにボタンで変数speedの値を増減できるようにしましょう。

スピード増加ボタンのインスタンス名は"faster_btn",スピード減少ボタンのインスタンス名は"slower_btn"とします。

ボタンの処理とコメントを追加すると次のようになります。

サンプル1

01: //変数定義
02: var speed:int = 5;
03: //アニメーションのイベント処理
04: star_mc.addEventListener(Event.ENTER_FRAME, xEnterFrame);
05: //ボタンへのclickイベント処理設定
06: faster_btn.addEventListener(MouseEvent.CLICK, xFasterClick);
07: slower_btn.addEventListener(MouseEvent.CLICK, xSlowerClick);
08: //enterFrameイベント用の処理
09: function xEnterFrame(evt) {
10:   star_mc.rotation += speed;
11: }
12: //Fasterボタンのclickイベント用の処理
13: function xFasterClick(evt) {
14:   speed += 1;
15: }
16: //Slowerボタンのclickイベント用の処理
17: function xSlowerClick(evt) {
18:   speed -= 1;
19: }

図1 ボタンによる回転スピードの変更

図1 ボタンによる回転スピードの変更

著者プロフィール

林拓也(ハヤシタクヤ)

Flash・Director オーサリングエンジニア,アドビ認定インストラクター,ロクナナワークショップ講師。

各種Webコンテンツ制作や,少人数ハンズオントレーニングから大規模なセミナー講師など幅広く活躍中。各種学校のカリキュラム・教材制作をはじめ,ActionScriptに関する書籍も多数執筆。

URLhttp://67.org/ws/instructor/hayashi.html

著書

ActionScript 3.0の基本がわかる,充実の2日間
林 拓也のプログラミング未経験者向けActionScript 3.0入門講座

■概要

新刊「 速習Webデザイン ActionScript 3.0」をプレゼント!!

Flashの学校 ロクナナワークショップによる,プログラミング未経験の方や初心者の方を対象にしたActionScript 3.0の入門講座が,林 拓也氏を講師に迎え開催されます。

しばしば「難しい」と言われるActionScript 3.0ですが,重要ポイントを理解して正しく攻略すれば,グッと難易度を下げることができます。本講座では,シンプルなサンプルを使って基本事項から学習するため,プログラミング未経験者の方や初心者の方には最適の内容です。
プログラミングなんて絶対無理!っと思っている方,ぜひご参加ください。

■詳細情報
【日程】2008年10月21日(火)22日(水)
【時間】10:00開場 - 16:30閉場(1日4時間、2日間で8時間の講義です)
【場所】東京都渋谷区 「T's 東宝ビル 別館 ホール204」
【定員】30名
【料金】19,800円(2日間、消費税込み、書籍プレゼント)
【協力】アドビシステムズ 株式会社
【主催】株式会社ロクナナ・ロクナナワークショップ
     〒150-0001東京都渋谷区神宮前1-1-12 #203
     Summer Camp 2008 運営事務局
     担当:佐々木・上田
     E-mail:workshop@67.org

コメント

コメントの記入