『デザイナーさんのためのActionScript3.0講座』
デザイン中心って人はなかなか「敷居が高い」って片付けられてしまって、それがさらにモチベーションを遠ざけてしまいがちなActionScript3.0。
参考書籍を見て、いきなり分からないという方は、それ以前の予備知識が必要かもしれないのですが、それより先に簡単なものから触って動かしてしまおう!という考えで、始めていきたいと思います。
ちなみにDTP上がりのデザイナーである僕はこんなタイプでした。
まず環境をつくりましょう。
特にDTPデザイナーさんはMac使いが今でも多いかもしれませんのですが、Windowsユーザの方と特に区別がありませんからご安心下さい!
では、Adobe Flash CS3を立ち上げます。
ここで持ってない方、Adobeのサイトから体験版が試用出来ます。
http://www.adobe.com/jp/products/flash/
(※2008年6月2日現在、問題があって7月からしかダウンロード出来ないらしいです)
クルクル回転させよう
では、いよいよ準備も揃ったので、まずは、えんえんとクルクル回転させてみたいと思います。
ここでいきなりスクリプトの説明をすると疲れちゃうデザイナーさんもいると思うので、このコードをコピーしてアクションパネルに貼ってパブリッシュしてください。
別に横着してもよいという意味じゃないですよ、最初だけですよ、つぎからちゃんと書いてもらいますよ〜っ。
前回の応用で毎フレームの処理を体で憶えよう!!
さてここで前回のおさらいをしましょう。
前回のコードにちょっとだけ変化を持たせてます。
square_mc.addEventListener(Event.ENTER_FRAME,myRotation);
function myRotation(event:Event):void{
square_mc.alpha-=0.1;
}
くどいようだが体で憶えよう!!
- 直感的に見て、興味をわかせる
- プログラムが組めたことの実感を味わう
- 理屈でやるのではなく、最低限は丸覚えでいいので、その理屈は後で理解を深める
- クラスという概念やオブジェクト指向は今は見送る
はい、ここまで順調にすすんだ方はもうだいぶプログラムという文字や数字の集まりに何となく気持ちが近づいてきたかなって思ってますが、どうでしょう?
まあ、いままでは(当分この先も)理屈を抜きに、いったんこんな感じで「打ってみて」「試してみよう」的なノリで進んだ訳ですが、最初はこれでいいです、とにかくやってみて後からその意味を考えて、サンプルのコードをいじってみたり出来たらさらに一歩前進かな?
前回はプロパティの値をテキストフィールドに挿入してしまう方法を学習しました。
今までは、ただ、画面上の四角いオブジェクトのプロパティの値(x軸のピクセル数とか)を取得する事ができましたが、今度はマウスの動きを取得しましょう。
2008年10月15日のCSS Nite in Osaka, Vol.12のセッションでご案内いたしましたサンプルファイルを公開いたします。
XMLと連携したマウスで動くフォトアルバム
セッション中にご覧になっていただきました例の写真アルバムです。まずはXMLとphotoフォルダの中身を入れ替えてください。
Spriteを継承した簡単なカスタムクラスの練習
外部にクラスファイルを作成、new演算子の呼び出し方は、他のやりかたと全く代わりはありません。
リンケージされたオブジェクトをスクリプトで呼び出す
AS3の場合、新規のクラスをつくるような感じになります。
『基本クラス』の部分はムービークリップシンボルの場合、デフォルトでMovieClipが選ばれているはずです。
クラス名をつけて、インスタンス化する作法と同様に呼び出します。
スプライトに簡単な図形を書く
塗りつぶし、透明度を与えるbeginFill
四角形の場合、drawRect()
角丸四角形の場合、drawRoundRect
円の場合、drawCircle()を使う、いづれにせよ、上記はAS2のようにlineToなどを使う必要は無く、1行で行える。
ステージに複数は位置されているインスタンスに深度でアクセスする
numChildrenプロパティにより、子オブジェクトの数が返ってくるので、getChildAt()でその中の何番目の深度にいる子オブジェクトを指定、イベントを登録する。
外部の画像をローディング
Loaderオブジェクトを作成しロード、URLは別途URLRequestオブジェクトを作り、URLを指定する。
クリックイベントを登録する
addEventListener()メソッドの1番目引数にMouseEvent.CLICK,2番目の引数に自作メソッド名で処理を書く。
ロールオーバーイベントを登録する
addEventListener()メソッドの1番目引数にMouseEvent.ROLL_OVER,2番目の引数に自作メソッド名で処理を書くことで、ロールオーバー登録が出来る。
addEventListener()メソッドの1番目引数にMouseEvent.ROLL_OUT,2番目の引数に自作メソッド名で処理を書くことで、ロールアウト登録が出来る。
ステージのマウス座標の取得
例えば、X座標を取得するには、stage.mouseXを指定する。
リンケージした新規クラスの動作を外部asファイルに書く
一連の新規クラスの機能は外部に書いておくとよい。
1秒経つとイベントが通知されるタイマー
Timer()の第一引数には1000分の1秒単位で、第2引数はそれを何回繰り返すか、を記述。
最後あたりにあったご質問のカスタムクラスのことで補足します。
MovieClipクラスを拡張・継承させて、MovieClipPlusというクラスを自作、元々無かったメソッドmoves()を作り、外部asファイルをflaファイルと同階層ではなく、下位階層など、フォルダでまとめる際に注意しなければいけない点です。
サンプルファイルはこちらからダウンロードしてください。
前編は、プログラミング自体未経験の方が対象、後編はクラスベースの開発の基礎を学ぶことを目指します。
ActionScript3.0の場合、「開発者向け」なんて言葉をよく耳にします。
そのあたりでちょっと難しそうなイメージを持たれるかもしれません。
なので、「開発者向け」ではない方への目線でActionScript3.0の講座を開催することになった本講座では、かなり「短文」でシンプルな動作で、まずはスクリプトの動きに挑戦してみます。
少々でも、意味が理解出来たら、だんだんスクリプトの量を増やしていきましょう。
まずは動かしていることを実感してみる事が大事です。
出来ましたら、「クリックされたら動く」「繰り返し表示される」など、条件文やループ文にも挑戦しましょう。
それらの意味が分かり始めて来たら、いつの間にかある程度のボリュームをもったスクリプトになっているはずです、全てご自分で書かれた事に驚かれる方もいらっしゃるでしょう。
受講される方へ:事前にお渡しするサンプルで予習をお願いします。
表示リストとクリックイベントを学ぶ
ステージをクリックするたびにムービークリップが表示されます
(素材ファイル等は当日お渡しします。)
目に見えるオブジェクト「表示オブジェクト」の扱い方を学びます。

たたいた数はカウントされて表示されます。
(素材ファイル等は当日お渡しします。)
受講に必要な条件(受講者が有しているべき経験、スキル、意向)
- Flashアニメーションをモーショントゥイーンで作れる方(簡単なもので結構です)
- ムービークリップシンボルの仕組みを理解している方(入れ子構造が可能、独自のタイムラインを持っているなど)
- キーボードのタイピングに支障がないこと
主な内容
- ムービークリップをスクリプトで動かし、変形させる。
- 1フレーム動くたびに...スクリプトでムービークリップを移動・回転。
- もしも〜ならばどうする、さもなくば...の動きを実現する。
- 変数とは?関数とは?
- ループ文で繰り返しムービークリップに指示を与える。
- ライブラリ内のムービークリップをスクリプトで無数に配置する。
- マウスの動きを取得してムービークリップを動かす。
- ロールオーバーなどマウスアクションで様々な動作を可能にする。
- ダイナミックテキスト内にクリックした数をカウント表示する。
- 動くモグラたたきゲームを作ってみよう。
- 【補足】外部ファイルのローディング
- 【予告】後編で学ぶ「クラス」の予備知識
7月10日(金)にイメディオのセミナー「『脱・やらず嫌い!』デザイナーのためのFlash AS3.0入門 後編」を行います。
ActionScriptも難易度が高くなって、今や公開されているソースなどを見るとほとんどがpackageから始まるクラスファイルになっています。
でも、初めての方や、アクションパネルにしかASを記述した事の無い方にとっては、「結局ソースをコピーして言われた通りに動かしてみる」という事しか出来ず、何故みんなasという拡張子の付くファイルで作るのか?という疑問はもちろん、いったいどういう仕組みで、どう使うのかを理解するまで時間がかかり、最悪そこで挫折してしまうんです。
なぜなら、そのハードルがプログラム未経験者には異様に高いと感じられるからです。
高度なスクリプト記述を目指すなら、「クラスファイル」を作れる所を目指しましょう。
受講される方へ:事前に内容をお知らせしておきます。
XMLファイルとの連携で更新されるフラッシュをつくる
ステージをクリックするたびにムービークリップが表示されます(素材ファイル等は当日お渡しします。)

写真の他に、サムネイル写真、タイトル文、本文が納められていたXMLの内容を読み取り、解析して表示させる。
クリックされたサムネイルは詳細画面の内部に、自分自身の情報を送って、大きな写真とタイトル、本文が表示される仕組みとなります。
クラスで分けるということは、「パーツで分けて分業する」という意味に似ています。
「完成サンプル」では7つのサムネイルが散らばってます。
これは全体のクラスが、7回、サムネイルのクラスを呼び出し、サムネイルはサムネイルだけの独立した「仕事」を行うために作られてあります。
こうすることによって修正・変更などが発生した時に、例えばサムネイル単体だけを見直せばよい、というメリットが多くなります。
受講に必要な条件(受講者が有しているべき経験、スキル、意向)
- Flashアニメーションをモーショントゥイーンで作れる方(簡単なもので結構です)
- ムービークリップシンボルの仕組みを理解している方(入れ子構造が可能、独自のタイムラインを持っているなど)
- キーボードのタイピングに支障がないこと
- 「前編」の講座構成を理解されていること
主な内容
- 前編のおさらい/再確認
- データ型とは?型変換とは?オブジェクトをnewで作るということは?
- クラスファイルを作ってみよう。まずはpackage〜。
- flaファイルからasファイルをnewで呼び出してみよう。
- リンケージされたムービークリップとasファイルを関連付けて動かそう。
- クラスとは?ムービークリップを「継承」させてみるって・・・?
- ライブラリTweenerを使って、楽にトゥイーン。
- XMLファイルを読み込んで、情報を抜き取ろう。
- 情報を元に画像をローディングしよう
- XMLで更新出来るシンプルフォトアルバムを制作しよう。
- 【補足】これから学ぶべきおすすめの内容



