1 FL チュートリアルFlash ActionScript入門 Sun Mar 20, 2011 4:02 am
Admin
Admin
- Step1 : ActionScriptとは何か?
- Step2 : ActionScriptの概要
- Step3 : ActionScriptを用いたプログラムの入門
- Step4 : Script(スクリプト)
- Step5 : Variable(変数)
- Step6 : Expression/Sentences(表現/文)
- Step7 : Action(アクション)
- Step8 : Parameter(パラメータ)
- Step9 : オブジェクト指向プログラミング
- Step10 : アクションパネル
Step 1:ActionScriptとは何か?
ActionScriptとは、Macromedia
Flashが以前から導入しているプログラミング言語であり、Flash8でも同様に使用されています。一般的に、Flash8を使って、作ろうと考える
Flashムービー内のほぼ全てのことを、ActionScriptによって実行できると考えてよいでしょう。
ここでは、2つのテーマを取り上げて、FlashでActionScriptを使用していくための入門編としようと思います。本格的なプログラミングを理
解していくには、より詳細多岐なチュートリアルを勉強する必要がありますが、これに関してはFlash8のヘルプを読むことからお勧めします。
このチュートリアルで紹介することは、Flash MX 2004以後で使用されているActionScript 2.0に対応しています。
Step 2:ActionScriptの概要
ここまでに説明したように、ActionScriptはFlashで用いられているプログラミング言語であり、Macromedia DirectorにおけるLingoのようなものです。ActionScriptはMCMAscript (ECMA-262)に則っており、他の言語でいうならJavascriptに似ています。
ActionScriptはその名が示すとおり、スクリプト言語であり、完全なプログラムとして作成される必要は無く、通常、ムービー内のオブジェクトにActionScriptの断片が存在しており、オブジェクトに対して動作を実行します。
ActionScriptはオブジェクト指向(Oriented to Object:OO)言語であることから、Visual
Microsoft BASIC、Borland
Delphin、etc・・などと似通った部分も持っています。しかし、CやPascalから派生した純然たるOO言語ほどの能力は持っておらず、バー
ジョンアップされる度に、そこに近づくように改善されてきています。Ver.2.0はFlash MX
2004で採用され、ver.1.0より”よりOO言語”に近づいたものになっているのです。
ActionScriptはJavascriptに類似しており、Javascriptの知識を持っていれば、文法はすぐ理解できるでしょう。両者の違いについては、Flashのヘルプを参照すればわかるはずです。
ほとんどの場合、実際に”プログラムを組む”といった、たいそうなことはする必要がありません。Flashには用途に合わせた素晴らしい
”関数”(何かの行動を実行するためのコマンド)が用意されています。それを、適切な場所に配置することで簡単に、動作を指示することができます。
いくつかのトピックに分けて機能を見ていきますが、これらはプログラミングの前に知っておくべき事柄に含まれます。その辺りを知りたい人は、このチュートリアルを先に進めて下さい。
Step 3:ActionScriptを用いたプログラムの入門
ここで紹介することは”基礎”であり
ながら、”知っておくべき必要事項”でもあります。このテーマの目的はプログラムを教えることではありません。ActionScriptを理解するのに無
視できない事柄となります。ActionScriptを用いたプログラム作成に近づくために必要なごく基礎的なことを解説します。
Step 4:Script(スクリプト)
なんらかのプログラミング言語を用いて特定の動作を目的に書かれたコード。例えば、Flashでボタンが押されれば、次のフレームに移動するといった動作を実行するActionScriptコードはスクリプトである。
Step 5:Variable(変数)
変数という言葉を理解するために簡単な例を紹介します。
もし、次のような表現 x = 3; があるとすると
xは変数であり、3という値を取ることになります。Flashムービー内である瞬間においてその値を変化させていくことから、これを変数
よんでいます。全てのデータは、変数として扱われます( the number
3といった定数としての記述を除いて)。この場合、名前も変数(文字の列として)となります。
Step 6:Expression/Sentences(表現/文)
命令、定数、変数、アクションなどのまとまり。意図した結果や特定の動作を引き出し、常に’;’で終わらなければなりません。
Function(関数):特定の動作をおこなう、名前を持ったコードの一部です。例えば、次のように関数を定義します。
Function IncraeasesX(x){
x = x + 1;
}
この関数の中では、変数”x”に”1”を加えた値を導きます。もし、この動作をムービー内で必要とすれば、”IncreasesX(variable)”と記述することで用が済むのです。
関数の定義(上に記述したような)は使用する前におこなわなければなりません。
Step 7:Action(アクション)
Flashでは、定義する必要がない、組み込みの関数をアク
ションと呼びます。それ故、それらについては関数を記述するだけで利用できます。使用頻度が高い動作はアクションとして利用でき、とても便利です。コード
をアクションパネルで選択して配置すれば関数として働いてくれるのです。
例えば、”gotoAndPlay(3)”はFlashでフレーム3に移動するアクションです。
ここで、前述したように関数の定義をおこなう必要はなく、Flash内で既に定義されていることになっています。アクションはその使い方を知っておくだけで利用できるのです。
Step 8:Parameter(パラメータ)
パラメータはアクションや関数のための入出力です。例として次の定義を見てください。
次のような関数を定義します
function Sum5(p_input, p_output){
p_output = p_input + 5;
}
変数xが7で、別の変数yは7+5にしたいとします。その場合、Sum5(x, y)と実行すればよいのです。パラメータxとyを用いてy= x +5 という関数を作ることが出来ました。
“Sum5(x,
y)”が実行されたとき、FlashはSum5と呼ばれる関数の定義を捜します。そして、我々の記述した定義をすぐさま見つけることになるでしょう。さら
に、実行に当たって、Flashは実行された関数が定義のヘッドと一致するかを確かめるのです。ヘッドとは関数の名前と(
)による部分です。ここでは、”Sum5(p_input, p_ouput)”となります。
関数の名前とパラメータの数は一致しなければなりません。これらは変数であり、もしくはカンマで区切られた値となります。
2つのパラメータを持つ場合、関数が実行されるためには全てが一致する必要があります。実行された関数は”Sum5(x, y)”となり、その内容は次のようになります。
function Sum5(x, y){
y= x + 5;
}
この関数が実行された後、yは値x+5となります。これは、まさに我々が目的としたところです。
変数’x’は入力パラメータとなり、関数に値を振り分けます。値’y’は関数を関数が実行されることで生まれるものですが、関数の内部が変化すれば、その結果、値が返されるので出力パラメータになります。
Step 9:オブジェクト指向プログラミング(OOP)
ActionScriptはOO言語です。これは、情報がグループに組織され、クラスとしてデザインされることを意味します。クラスをムービー内で使用するなら、オブジェクトという名前のクラスのインスタンスを使います。
このオブジェクトつまり、クラスはProperties(特性)とMethods(振る舞い)を持っています。次の2つの例を見てみましょう。
人というオブジェクトは
-Properties:名前、年、身長…
- Methods:話す、走る、跳ぶ…
を持っています。
ムービークリップオブジェクトは
-Properties:色、幅、高さ…
-Methods:gotoAndPlay、Stop、LoadMovie…
を持っています。最初の例は、明らかに当たり前のようなことで、2番目の例はFlashのオブジェクトで、重要な事項です。
ActionPanelでもオブジェクトを見つけることができ、使うことも簡単です。次の例を見てみましょう。
オブジェクトClip1があるとします、これはMovieClipクラスのインスタンスであり、ここまでは同じPropertiesとMethodsを持っています。
-Clip1._heght = 20;
この一行で、Flashに対してオブジェクトClip1は高さとして20を持つと言ったことになります(Flashはすぐにムービーを変更します)。Flashの文法においては分離記号として、”._”が必要になります。
-Clip1.Play();
このアクションは、MovieClipに属したPlay メソッドを実行し、タイムラインをClip1から始める動作をおこないます。ここでは分離記号は”._”でなく”.”であることに注意してください。
Flash8の基本的なコンセプトは、このようなことを考えるとき、Runtimeモードでの一行でムービーオブジェクトの高さを変更することができるのです(上のように作成している場合はできません)。
これによって、より進行型のアニメーションが可能になり、ユーザーとの相互作用も実現可能になります。これにより完璧なマルチメディアムービーに近づくことになるのです。
これらの知識と理解はActionScriptのプログラミングを始めるにあたって、決して必要であるというわけではありませんが、このタイプの言語での直感的なプログラミングには役立つでしょう。
このチュートリアルでは、プログラムを理解するうえで直感的に必要な事項を紹介しています、これらのことを頭において言語を勉強していけば上達も速いでしょう。
Step 10:アクションパネル
Flashでは、ActionScriptでプログラミングをする際
にアクションパネルを使用します。このパネルに記述していけば、それがムービーに反映されるわけです。また、アクションパネルはオブジェクトやフレームに
対して個別に適用できます。例えば、下のイメージでは、アクションパネルがフレーム1とレイヤー1に対して適用できることがわかります。
アクションパネルは二つの部分に分けられています。左側では、アクションなどを素早く引用できるようになっています。それぞれの要素は
フォルダに分けられており、Flashにおいて設定されている用途別に使いやすくなっています。これらをスクリプト中に挿入するには、要素を選び、ダブル
クリックするだけで可能です。
このパネルに含まれる、異なる要素の詳細については後で見ていきます。
[You must be registered and logged in to see this image.]
右側の部分は、スクリプトを記述していくスペースとなります。さらに、文字検索をかける、シンタックスエラーのチェック、FlashのActionScriptのヘルプなど、多目的なツールも配置されています。
Flash8のアクションパネルはFlash MX 2004とは対照的に、編集にエキスパートモードとノーマルモードの二つのモードが選択できます。
エキスパートモードでは、全て自由にプログラムを構築できますが、エラーを起こす可能性も高くなるでしょう。しかし、 ボタンを押すことで、エラーを検索し、示してくれます。下のように間違ったコードを記述すればエラーを指摘してくれます。
ムービーが正しく動作せず、その理由を探っているうちにどんどん時間を浪費してしまうといったことはよくあることです。コードの意識的なチェックは常に心がけてください。
[You must be registered and logged in to see this image.]
ノーマルモードを使えば、より簡単にスクリプトを作成できます。左側からコマンドを選択していき、適切な形に仕上げていくだけで作業が進みます。
しかし、ここでもコードのチェックは確実におこなってください。これを常日頃おこなうことで、プログラミング技術も向上していくことでしょう。
引用:Web Design Library 著者:Teacherclick.com翻訳:atuk]