« Flex2のClassをFlash CS3で使う | メイン | MovableTypeをバージョンアップ »

2007年10月20日

[連載] デザイナーのためのActionScript講座 ― 第0回:ActionScriptのコツ

これからしばらく「デザイナーのためのActionScript講座」と銘打って
スクリプト初心者の人向けに ActionScript を通してスクリプトを組むための
基本的なところから、中級的なところまで書いていこうと思います。

はじめに断っておきますが、僕自身中級者ですのであしからず。
僕にもまだまだ勉強は必要です。

この講座を読んで ActionScript を使えるようになった誰かが
僕より全然良い Flash を作るってことも、まったくありえる話だと思います。
まあ、そもそも Flash作品 の良し悪しに ActionScript はあまり関係ないんですけど
それを言っちゃうと元も子もないので、そのへんは気にしないでください。

要は僕ぐらいの人は、もっとそこらにゴロゴロいたっていいはずだと思ってるわけです。


■これを書くに至った経緯
デザイナーさんに ActionScript について教えることが、これまでに何度かありました。
その度にまず最初にスクリプトについての基本的な話からはじまります。

さすがに何度も同じ話をするのも面倒ですし、かと言って放っておく訳にもいかないので、
何度かに分けて、ここに ActionScript の基本的なところの話を書いておくことにしました。


■対象とする人
・ActionScript を自分で一から書けるようになりたい人。
・Flashを触ったことはある、Flashを触る環境はあるが ActionScript はよく分からない人。
・ActionScript を覚えようとサンプルを触ったりしたが、結局身に付かない人。
・せめて JavaScript は使える用になりたいと思ってる人。
・スクリプトには興味はあるが難しそうなので手を出せないでいる人。
などなど。
いわゆる初心者な人たちです。


■目標
最終的には自分で作りたいものを作れるようになってもらえるようになればと思ってます。
当たり前のことの様に聞こえますが、大概の初心者はここでつまづいてしまいます。
自分で作りたいと思っているものが作れなかったら、まったく面白くないですし。

その為に必要なことは「ちょっとしたルールを覚える」ことと、「自分で調べられる」こと。
たったこれだけのことなので、実はあんまり書くことなかったりして。


■内容
基本的に「Flash Professional 8」か「Flash CS3」ありきで話を進めていきます。

実はあんまり考えていないのですが、まずは基本的なところを AS2 をベースに書いていこうと思います。
なんとなく頃合を見計らって AS3 に移行していこうと思ってます。

よく「AS3 は初心者にはちょっとハードル高いんじゃない?」みたいな話をちらほらと耳にしますが
僕自身はそうは思ってません。「AS3が初心者にはハードル高い」と思うのは、その人がそれまでの
ASに慣れているからであって、これから身に付けていく人にはあまり関係ない話だと思います。
むしろ AS3 のソースを理解できるようになれば Java や C++ のソースを見ても読みやすいと思います。
そっちの方が参考になるものが多かったりしますし。

ちょっと話が脱線しちゃいましたが、最初は"変数"とか"関数"の話から"クラス"
についてもろもろ書いていこうと思ってます。(メチャクチャ大雑把やな)
ちなみに脱線しまくる可能性大です。


■はじめに
はじめにと言うか、はじめる前に ActionScript を使えるようになるためのちょっとしたコツを。

・初心者は極力サンプルを使わない。
ActionScriptの書籍だけでもかなりの量が出版されており、ネット上にもたくさんのサンプルが上がってます。
が、最初は使わない方がいいと思います。これらを使っていいのは、ある程度ソースが読めるようになってから。
そう決め込んでしまいましょう。
ありがちなのは、サンプルを見つけてきて、そのまま書き出せばうまく動くけど、自分でカスタマイズしようとしたら、
なぜこのスクリプトから先ほどのような動きが表現できていたのかが分からず、思い通りにならない。ってのがオチです。
結果を急いではいけません。
まずはその仕組みを理解しましょう。

・Ctrl+N(MacならCommand+N)を癖付けよう。
なぜか初心者ほど重いファイルであれこれしようとする傾向にあるように思います。(場合にもよりますが。)
結果がどうなるか分からないスクリプトは、まず新規ファイルを作って、そこで試しにスクリプトを書いてみて、
結果を確認してから制作中のファイルに書き加えましょう。
その方が書き出しも早いですし、スクリプトもスッキリしていて問題が明確になりやすいです。


・trace()を使いまくる。
ActionScriptには trace() というスクリプトが用意されています。
これは内容を「出力パネル」に表示するための関数というものです。
使い方は
trace("出力する内容");
という具合に書くと、出力パネルには『出力する内容』と表示されます。
trace(1) と書けば『1』が出力されます。
スクリプトは、とにかく実行中にどんな値が処理されているのかが見た目に分かりにくいです。
そんな時に、調べたい値を trace() を使ってやることで、出力パネルに表示させて直接確認することができます。
第1回でもう少しこの trace については書くことにします。


だいたい最初はこんなものでしょうか。
これらは常に頭の片隅に置いておいてくださいませ。

■参考書籍

・初心者の人はこの本
FLASH ActionScript辞典
これは Flash 2004 の時のものですが初心者にはこれ1冊あれば充分過ぎます。
内容は Flash のヘルプをそのまま本にしたようなものですが、本を開くのと、ヘルプパネルを開くのでは大違いですので、これは持っておくといいと思います。
他にも名前に「入門」とついた本とか ActionScript 関連の本はたくさん出版されていますが、それを手にするのはもう少し先で構いません。


・ActionScriptで書かれたソースがある程度読める(理解できる)ようになったらこの本
Flash Hacks―プロが教えるテクニック&ツール100選
ActionScriptに限らずFlashのオーサリング全般に渡って、様々なテクニックが紹介されていますので是非参考にするといいでしょう。


・クラスを扱いだしたらこの本
FLASH OOP ActionScriptによるオブジェクト指向プログラミング
AS2でのクラスファイルの作成と使用方法についてのイロハが書かれてますので、是非繰り返し読まれることをお勧めします。


・次のステップを目指す人はこの本
高校数学公式活用事典
改訂新版 JavaScript 例文活用辞典
プログラミングの宝箱 アルゴリズムとデータ構造
C言語による最新アルゴリズム事典
ゲーム開発のための物理シミュレーション入門
PHP辞典

などなど。
挙げればキリがありません。あとは適材適所。必要だと感じたものを買うに限ります。
あと、最近ではFlash関連の国内ブログがやたら増えたので、チェックしておくといいと思います。

本を選ぶ時は、あまりActionScript関連の書籍にこだわらずに、いろいろ目を通してみてください。
例えば、中高校時代テストでは赤点ばかりだった僕にとっては「高校数学公式活用事典」なんてのは目から鱗、棚からぼた餅だったワケです。


取り留めのない感じになってますが、以後こんな感じで進めていきますので
どうぞよろしくお願いします。



そうそう、ここまでで既に何か分からない単語とかあるんですかね?
何か不明な点とかあれば、コメントで質問していただければ、極力答えていきますので
気軽に書き込んでください。
と言っても、面識ある人たちは直接聞いてくれたらいいんだけどもね。


トラックバック(0)

このブログ記事を参照しているブログ一覧: デザイナーのためのActionScript講座 ― 第0回:ActionScriptのコツ

このブログ記事に対するトラックバックURL: http://system.seyself.com/mt-tb.cgi/451

コメント(2)

ladies-tomita :

お疲れさまです。
素晴らしいコーナーを開設してくれて、ありがとう!!!
第一回目から、心が震えるぜ!

>■対象とする人
>・せめて JavaScript は使える用になりたいと思ってる人。

コレ以外、全部当てはまります。

>・初心者は極力サンプルを使わない。
>・Ctrl+N(MacならCommand+N)を癖付けよう。

これは、耳が痛いです。
そうなんです!!サンプルに頼って、「おー!ほんの通り、動いた!!」とかやっているから、一向に応用力が身に付かないんですよ。(しかもそのサンプルが古くてAS1な為に、エラーいっぱい出て愕然としたりさ。。。)
あと、個別に新規ファイル作成して試すと、全体像が分からなくなる、と思い込んで、一つのFlaファイルで全部やろうとしますね。

また、他のエントリーも読んで、勉強させてもらいます。

最後に英語の読み方の話しになりますが、Booleanは「ブラーン」だと思い込んでました。

michi :

> (しかもそのサンプルが古くてAS1な為に、エラーいっぱい出て愕然としたりさ。。。)
それはスクリプトがAS1であるせいでは無いと思いますよ。
AS2は基本的にAS1と変わりないですし。
でも、Flash5の時のサンプルとかだと、大文字と小文字の区別とかで不具合はあるかもですが。
僕もまだまだ勉強しなきゃいけないことだらけなので、お互いがんばりましょう。

コメントする


画像の中に見える文字を入力してください。

しばらく時間が経過すると、システム内部と表示されている文字内容に食い違いが発生するようなので、
投稿する前にページをリロードすることをお勧めします。
リロードしてもフォームの内容は維持されます。