demo1「はじめよう!Progression 3」 阿部貴弘@taka:nium
demo2「強引にやさしいAS3入門」 森 巧尚
demo3「アドビ最新情報!」 西村真里子@Adobe
demo4「Flash Player 10で新たに加わった3Dの行列とベクトルを使ってみる」 野中文雄
26回目のF-siteセミナーは、190名という過去最高の参加人数になりました。スクリプト三昧でありつつもそれぞれ個性のあるデモに、参加者の満足度もぐぐんとアップしたはず!
さらに、demo3では日本語版Flash CS4 Professionalが初お披露目となりました。新しくアクセスしやすいUIや3D機能の追加にはスクリプターのみならず、すべてのFlashユーザのトキメキどころ。
レポートは、後日少しずつ追記されますのでお楽しみに!
講師:阿部貴弘@taka:nium
Progressionプロジェクトサイト http://progression.jp/
サンプルファイル http://trac.progression.jp/svn/archives/20081113_F-site.zip
Flashを制作するにあたり、画面の切り替え処理に注目し、Flashをつくりやすい仕組みを考えたActionScript 3.0用のフレームワークです。
Flashサイトの要素としてイントロやトップページ、概要ページなど、コンテンツによってそれぞれの画面の役割や切り替わるときの演出は違いますが、ある画面からある画面へ切り替えるという行動(構造)は同じようなものだといえます。
つまり、それは「汎用化」できる!ということで設計、制作されました。
事例総数 113件(11/15現在:Progression 2のリリース後から約8ヶ月間)
http://progression.jp/showcase/index.html
2008年9月のProgression 3リリース時で約40件だったが、11月に入って約70くらい増え、飛躍的に伸びてきています。
※だたし発見時の総数なので、リリース時期が分からないものもあるので曖昧です。
(Progressionを使っているかどうかは右クリックするとクレジットが入っていて分かります)
サンプルファイル http://trac.progression.jp/svn/archives/20081113_F-site.zip
数ページを切り替える簡単なFlashの一部を外部ファイルに置き換えます。
Step1 まずは読み込んでいない状態で実装します。
Step2 それを外部読み込みに切り替えます。
Step3 シーンエディタでシーン構造を編集します。
progression.jp近日リニューアルします。
勉強会を開催します。
Progression 3.1リリースします。
Adobe MAX 2009に出演します。
講師:森巧尚 |
たとえば、ボタンは、
AS2以前
on(release) {
gotoAndStop(10);
}
AS3
a_btn.addEventListener(MouseEvent.CLICK, doClick);
function doClick(e:MouseEvent):void {
gotoAndStop(10);
}
とかなり長くなってしまったように見えます。
しかし、見た目は違いますがやろうとしていることは、実は全く同じなのです。
つまり、難しく見えるのは、「長くて読みにくい」ことが問題!
「あっどいべんとりすなー」などと呼んでいるうちに、何をしようとしているのかわからなくなっているのです。
そこで、この読み方を少し工夫してみましょう。
「addEventListener」という長い単語を"「に」"と読み替えてみます。
難しい単語を頭の中で日本語に変換すると、意外とわかりやすくなりませんか?
自分で作るときは、タイムラインで作れるとしても、他の人のサンプルで「ドキュメントクラス」という外部ASファイルにプログラムが書かれていることがあります。
「ドキュメントクラス」とはSWFのムービー自身が持っている関数やプロパティ情報のことです。
ただ、タイムラインに書くやり方に慣れていて理解しやすい人のために、強引にタイムライン上にスクリプトを持って方法を紹介します。
特殊な場合を除き、ほとんどはメインのタイムラインの最初のフレームで書くのと同じようなものなので、メインのタイムラインの上に移動させて見ましょう。
※上級者の方へ
この方法では、スコープの問題などうまく動作しないケースも少なからず発生します。ただ、こちらはあくまでも初心者の方がタイムライン上で学習できることを目的として紹介させていただいているという趣旨をご理解いただければ幸いです。
講師:西村真里子@Adobe 発売直前! 先日発表されたばかりの Flash CS4 の新機能を紹介していただきました。 |
デフォルトでツールやプロパティインスペクタが全て右側に配置。
これによりスムーズなマウス操作で作業できるようになりました。
今までのフレームベースのアニメーションがオブジェクトベースのアニメーションに変更されました。
インスタンス、動作、時間、アニメーションを別々にとらえるような感じだと思います。
アニメーションの作成方法がかなり変わりますが、クラシックトゥイーンに設定すれば従来通りの操作もできます。
After Effects にあるような設定パネル。
アニメーションのX軸Y軸の変更や、フィルタのイージングの設定を管理します。
モーションを保存することで、他のオブジェクトに同じアニメーションを適用することができます。
プリセットとしてもいくつか用意されています。
オブジェクトを削除してもタイムライン上にはアニメーションの設定が残ります。
ここに新しいシンボルをドラッグしてくるだけでシンボルの入れ替えができます。
ドラッグをして数値を変更できます。
入力フィールド内で直接四則演算ができるようになりましたので直接式を入力すれば値となって入力されます。
3D回転ツールを使うとXYZ軸をそれぞれをドラッグして回転させることができます。
3D変換ツールでは、ステージに対してXYZ軸を変化させ、消失点と遠近の角度やカメラ位置を設定することもできます。
連続したオブジェクトの中に骨を通すように設定して動きを制限することで関節があるような表現ができます。1つのシェイプに対して設定すると、ぐにゃぐにゃと変形するアニメーションも簡単に作成できます。
また、ステージ上だけでなく、実行時に動作させるオプションを選択することでインタラクションを持たせることができます。
デフォルトでは“つる草模様”や“格子模様”があり、登録したシンボルをパターンとして塗ることができます。
パブリッシュ設定からライブラリパスで FlexBuilder を選ぶことでライブラリ内のアイコンも Flex アイコンに変わり、書き出したものを FlexBuilder で読み込んで使えます。
次世代のファイルフォーマットである XFL ファイル を通して After Effects や InDesign のデータを読み込むことができるようになりました。
この XFL ファイルは今は書き出し→読み込みだけですが、今後 FLA に変わるファイルにもなって行くそうです。
検索機能の追加。
複数シンボルを選択して一度にプロパティの変更が可能になりました。
講師:野中文雄 Flash CS4 Professionalより一足先に公開されているFlash Player 10。ここでは、その新機能のうち、VectorクラスとMatrix3Dクラスについて解説していただきました。 なお、野中さんによる本セミナーをまとめた詳しいレジュメは、下記でご覧いただけます。サンプルファイルもダウンロードできます。 http://www.fumiononaka.com/Sample/F-site/FF081115.html |
var myVector:Vector = new Vector();
これはエレメントのデータ型が指定されていないのでエラーになる。
var myVector:Vector.<int> = new Vector.<int>();
データ型にintを指定するとすると、上記のように書く。
その他、細かい書き方は野中さんによるレジュメをご覧ください。
行列の乗算は、掛けられる左の行と、掛け合わせる右の列を、それぞれ次のように計算する。
このとき、掛けられる左の列数と、掛け合わせる右の行数は等しくなければならない。以下のように左の列数と右の行数が等しくないときは、乗算ができない。
行と列の数が等しい行列を「正方行列」と呼ぶ。行数×列数の同じ正方行列同士を乗算すると、その結果も同じ行数×列数の正方行列になる。したがって、同じ行数×列数の正方行列は、いくつでも掛合わせられる。
変換行列は正方行列で、XY座標と掛け合わせることで値を変換する。ただし、この変換では原点が固定され、動かすことができない。
Flashにおける座標空間では、インスタンスの配置された親タイムラインの基準点が原点になるため、常に親の基準点(X:0, Y:0)を原点として、インスタンスの拡大/縮小、回転が行われる。
この原点が固定される問題を解決する方法として、Matrixクラスの変換行列では1つ列を増やしている。
各行列の3行目は、下図のように値を固定する。変換行列を3行×3列にしたことにより、座標を平行移動することが可能になった。
変換行列の3列目のtxとtyに数値を指定すると、XY座標がそれぞれそのピクセル数だけ移動する。たとえば、インスタンスを親の基準点に移動すれば、インスタンスの基準点を中心に変換することができる。
例えば、3次元座標空間でDisplayObjectインスタンスを回転するには、Matrix3D.prependRotation()が使えるが、
my_mc.transform.matrix3D.prependRotation(45, Vector3D.Y_AXIS);
これはエラーになる。なぜならば、DisplayObject.transform.matrix3Dプロパティは初期値でnullになっているから。
このエラーを回避するには、DisplayObject.transform.matrix3Dプロパティを使う前に以下のスクリプトを記述する。
my_mc.z = 0;
DisplayObject.zプロパティに0を設定すると、同時にDisplayObjectにMatrix3Dインスタンスが設定されるから、エラーが出なくなる。
なお、demo後に会場から質問があり、もっとスマートに回避する方法はないでしょうか、という質問がありました。野中さんによると、以下のように書く手法でもよいとのこと。
my_mc.transform.matrix3D = new matrix3D();
その他、細かい書き方は野中さんによるレジュメをご覧ください。
今回もスタッフ、関係者、参加者の皆様からプレゼントをご提供いただきました。たくさんの賞品、ありがとうございました。
『ウェブの仕事力が上がる標準ガイドブック1 Webリテラシー』1冊
『ウェブの仕事力が上がる標準ガイドブック2 Webデザイン』1冊
各種Tシャツ10枚
ボールペン7本
各種ステッカー
『ActionScript 3.0プロフェッショナルガイド』3冊
オリジナル"ヨコヤマ"トートバッグ(非売品) 3個
「Web Designing」2008年12月号 3冊
『FLASH OOP for ActionScript 3.0』3冊
『Adobe Flash CS3 詳細! ActionScript 3.0 入門ノート』3冊
『Adobe Flash CS3 詳細! ActionScript 3.0 入門ノート 2』1冊
今回はセミナーが大入りだったこともあり、60人近く(!)の参加となりました。
恒例の自己紹介お題は、「クリスマスに欲しいものは?」。
CS4 Master Collection、Web Premiumなど思わずうなずきたくなるものから、「愛」という切実なお願いまで……個性豊かな自己紹介となりました。
(敬称略)
参加者の方々のブログで取り上げていただきましたので、順不同でご紹介します。ありがとうございます! 「俺も書いたぞ!」「私も書いたわ!」という方がいらっしゃいましたら、この記事にトラックバックをお願いします。
ClockMaker Blog「F-siteのセミナーに行ってきました」
http://clockmaker.jp/blog/2008/11/f-site/
phas.jp「F-siteのセミナーがおもしろかった」
http://www.phas.jp/2008/11/fsite.html
bao_bao_blog「F-siteセミナーに参加してきました。」
http://d.hatena.ne.jp/bao_bao/20081116/1226803809
blog.ipuheke.jp「F-siteのセミナーに行ってきました」
http://blog.ipuheke.jp/?p=116
閃光的網站・弛緩複合体「F-site セミナー『ActionScript最前線』(1)」
http://aquioux.blog48.fc2.com/blog-entry-513.html
Unknown Quality「F-site行ってきたよ」
http://un-q.net/2008/11/fsite_progression_as3.html
ta6b log「F-siteに行ってきました」
http://ta6b.net/blog/2008/11/fsite.html