「Spark67 Deep Edge ActionScript Libraries」メモ

先週ですが、「Spark67 Deep Edge ActionScript Libraries」で勉強してきました。 とりあえずメモのまとめ。ちゅうかめちゃめちゃ丁寧なフォローアップメールが来たのでそこからも一部抜粋。さすがお金を払っているだけはある。セミナー聞くだけでも十分もとはとった感じやねんけど。。。 ■Session1:JavaScript なんて怖くねぇぜ!SWFWheel から紐解く Flasher のための JS の歩き方(HIGEさん) >>FlasherがJavaScriptを歩くために ・asとjsとのやりとり、、、 →navigateToURL:とりあえず手軽、ローカルでテストできる。 →ExternalInterface:色々使えるけど、セキュリティサンドボックスとの戦い。ローカルでは動かない。 →ExternalInterface.available:ExternalInterfaceがサポートされているかチェックするけど、セキュリティサンドボックスまでは加味しません。 →ExternalInterface.objectID:IEならobject属性、それ以外ならembedタグのname属性を返すが、objectタグであってもname属性を返してしまう。 ・ちなみにallowScriptAccessは、asからjsを呼ぶときの設定なので、jsからasには関係ない。 →jsで設定する。 ・Security.allowDomainがjsからasを呼ぶときの設定。Security.allowInsecureDomainでドメインを指定する。アスタリスクも使えるけど、全て許可しちゃうので注意。 →asで設定する。 ・無駄に徹夜しないために →id属性には”external~”を決め打ちする。 →動きが怪しい時は非同期処理にしてみる。(setTimeoutやsetInterval) >>SWFWheelから得たノウハウ ・ブラウザはどのobjectタグを見るか? →SafariやIEは外側のobjectタグ、Gecko系は内側のobjectタグ →つまりは、、、外側にはid, name、内側にはname属性。 ・JavaScriptを埋め込むと挙動が変わる →Gecko系のブラウザ保護機能が働く、XPCNativeWrapperなオブジェクトが出てくる。 ■Session2:BetweenAS3 にみるライブラリ設計と最適化(新藤さん) >>設計編 ・”小さなクラス” 重要 ・クラスの責務 (役割, 責任を負う範囲) をできるだけ絞る ・他のクラスもできるだけ知らなくて良いようにする ・良いライブラリは簡単に使える ・きちんとした名前をつける(何をするものかすぐ分かる/副作用が分かる/一般的な命名規則に沿っている/組み合わせで使うものが分かる/true を返すときが何を表すのか分かる (isPlaying, contains)) ・よい設計のために(コードを読む, デザインパターンを知っておく) >>最適化について ・必ず読んでおくGSkinner先生(http://gskinner.com/talks/) ・厳密に型指定することによりハッシュ検索がなくなる →具体的に言うと、 objA:MyClass; [...]

「F-site 20091031」行ってきました

ご無沙汰してます。 もう2か月以上ぶりなブログ更新。ちょっとしたメモでもこれから書いていこうかとこそっと心で誓う。 最近はセミナーにもほとんど行けなかったんですが、久々にF-siteに行ってきました。そのメモ。 ■demo1「ActionScriptでつくるActionScriptエディター」吉川佳一氏 何を説明するよりも、この2つ。 ・「 F-siteで紹介したエディタを無理やりWonderflに突っ込んでみた」 ・「マルチユーザ対応のASエディタ」 もうこれらを見てくれればどんだけ楽しかったか分かって頂けるかなと。 AS変態トークだけでなく、ちゃんとLocalConnectionとかSingletonとかFileReferenceとかの話しも軽くしてたけど、そんなんよりもとても笑わせて頂きました。 エディタについては、AIR化しようかなんて話もしてたんで、macユーザーにとってはかなり重宝するんではないでしょうか。 例えば1000文字の2つの文字列を比較するならば、2の累乗の近い数、1000なら512をビットシフトさせながら一致かどうかをチェックしてって、、、とすると軽い処理で2つの文字列の違いを探せれるなんて話もしてましたが、ほとんど上記リンクの2つのインパクトが強すぎて飛んでしまったw ■demo2「フレームワーク”の”作り方」阿倍貴弘氏 フレームワーク”の”、、、”の”に騙された?ヒトも多かったのでは。Progression4の使い方ではなく作り方の参考のようなdemo。 ・フレームワークを作るには →自分がほしいキモチ →調子にのせてもらえるカンキョー →他人に使われるキキカン →維持をするセキニンカン が必要。 などなど、ちょっと難しい話w 僕が一番気になったのは、「Progression4のプロジェクトパネルには、自分の普段使っているライブラリなどをパッケージ化できるようになっている。」というとこ。いつもプロジェクトごとに俺俺ライブラリとかコピペしてたので、Progressionファイルを生成するときに一緒にそれもパッケージ化させてプロジェクトを作れるのは素晴らしい!! ■demo3「サイトを作るツールを作るでござる、の巻。」Saqoosha氏 こちらは、さくーしゃさん自らブログでまとめて頂いているので、 ・「F-site で話したやつのまとめみたいな。」 を見ればすべて。 このあと、nagggさんも「ParameterController と離婚」とクラスを晒してくれているw 久々のセミナーやったけど、やっぱりテンションは上がる!!最近新しいことが全然できてなく、ぼちぼち触っていかないと完全に流れから遅れてしまうキキカン!それにしても今回はめちゃめちゃヒトが多かった。確か300名?二次会も100人超えとったもんなぁ。全然知りあいと話したりできひんかった。相変わらずじゃんけんは勝てずorz。。。 >>2009.11.09追記 F-siteのレポートがアップされてました。

「AdobeAIRベーシックセミナー」行きました

もう10日くらい前になるけど、マイコミ主催の「Adobe AIR ベーシックセミナー」に行ってきました。 AIRって何?流行るん?使える?っていうディレクターもいて、技術セミナーってわけではなかったけど、後半部分とかは技術的なところも話してくれて予想よりは良かった。 以前にAIRを触ってみて一番僕が気になったところ。 ・デスクトップガジェットなんにタスクトレイに表示されるってどうよ?  特に常駐アプリとかやったらうっとうしくない? という、ヒトによりけりやとは思うけど、そのあたりの解決法の考え方を話してくれた。 まだ実際にどうやるんかは手を動かさないとわからんけど、何となくイメージは出来た。 とりあえず、セミナーでのメモ ・AIRアプリのディレクトリには、1.アプリケーションディレクトリと2.アプリケーションストレージディレクトリ、3.任意のディレクトリがある。アプリケーションディレクトリはインストール時以外にファイルを作成した場合、一旦アンインストールして再インストールしようとした場合にエラーが起きるバグがある。 ・FLASHにはないけどAIRで気にしなければならないこと。1.ディレクターうんぬん。2.ファイルのコピーペイスト関連。3.ウィンドウ制御。4.ドラッグドロップでのファイル操作。 ・タスクトレイを消すには、全てを1つのMC内で制作して、そのMCをサブパネルにaddChild。 ・AIRウインドウの枠を消す。プロパティ→AIR設定→ウィンドウスタイルのシステムクロームをカスタムクロール(透明)に。 ・表に出さずに、裏で動作させる。プロパティ→AIR設定→詳細で表示のチェックを外す。 色々やりたいことが多いんに、最近だらけている心と身体w

「Progression勉強会inMTL」行きました

extendsProgression拡張機能コンテストのための勉強会、Progression 勉強会 in MTLに行ってきました。 内容は、対象がクラススタイルで制作経験のある方以上ということで結構上級向け?ひさびさにtakaさんのお話を聞いたメモ。 ■sec1:カスタムコマンドの作り方 ・基本のコマンドを宣言して使用する。 var com:Command = new Command(function():void { trace(“カスタムコマンド”); } ); ・execute()は、 (1)Commandクラスのサブクラス (2)第一引数に、実行関数 (3)第二引数に、中断関数 (4)clone()、パラメータのセットも忘れずに。 ・コマンドは、executeComplete()を実行しないとコマンド完了扱いにならない。また、処理後時間差で完了させたい場合は、timerを使う。 ・コマンドのエラー発生には、中断処理(interrupt())が必要。interruptComplete()で中断処理を完了。 ・DoTweenerの場合、中断処理されるとそのトゥイーン中に中断されるので、アニメーションの途中で止まることになる。 ■sec2:カスタムシーンの作り方 ・通常に使ってシーンを作成するのもカスタムシーン。ここでは、拡張機能としてのカスタムシーンの作り方。 ・PRML形式のXMLファイルを用いてローダー例。 ・ムラケンさんの作成したカスタムシーンのサンプル例。 ■sec3:カスタムコンポーネントの作り方 ・そもそもコンポーネントを作るのは難しい ・ライブラリから、コンポーネント定義でクラスを設定し、コンポーネント定義のパラメータも。 ・カスタムコンポーネントを作る人は、coreコンポーネントクラスを用いたほうが良い。 ・コンポーネントをswc書き出しするだけでは使えない。  →書き出したswcは直接FLASHでは読み取れない。  →C:\ユーザー\AppData\Local\Adobe\Flash CS4\ja\Configuration\Componentsに入れなきゃダメ。(vistaの場合) ・コンポーネント本体の中には、表示領域として透明なboxなどが必要。サンプル参照。 ・コンポーネントインスタンスは親のexecute()に追加される。 ■sec4:質疑応答 Q1.シーンをまたいだときの深度管理は? A1.AddChildAt()コマンドは、深度を設定出来る。いきなり1000とかでもok。 Q2.他のシーンのオブジェクト制御は? A2.getSceneBySceneId()で他シーンへのアクセス可能。 Q3.子swfへのディープリンク設定は可能? A3.現時点では不可。次回のメジャーアップグレードでは対応するかも。  子のxmlを親へ渡し、それを親で管理することにより出来るみたい。 Q4.コンテストについて。 A4.今回の意図としては、使いやすいや、面白いなどと可能性を重視している。 んー、メモの走り書きを見ているだけでは全然わからん、あってるかどうかも(笑) サンプルも再度アップされたみたいやし、ちょっとづつ見ていくしかないやね。 takaさんありがとうございました!

「最初の3歩目」行きました

「元気になるprogression講座 最初の3歩目」に行ってきました。 今回は、progressionからXML読み込みをするというもの。 XML読み込み自体は、何回も使っているし、そんなに難しいものではない。 ただ、PRML形式XMLファイルは使ったことがなかったので、勉強になった。これは使えそう。 しかもPRML形式のXMLファイルはprogressionから簡単にシーンエディタをPRML形式XMLファイルエディタとして使って作れるみたい。 ちなみに、通常のXMLファイルを読んだあとは、 ■要素:myXML.content[1].text() ■属性:myXML.content[1].@help でノードを取得する。 それがPRML形式XMLファイルの場合は、読み込んだデータがXMLListなので、XMLUtilを利用して変換(CASAフレームワークと同じ感じ)して、そのオブジェクトの変数みたいな扱いが可能。 var obj:Object = XMLUtil.xmlToObject(xmlData); で、<imageUrl></imageUrl>内の要素は、obj.imageUrlとして取得できる。便利ー!

「F-site的MAX」行ってきました

もう1週間も前やけど、F-site的MAXに行ってきました。 他のブロガーさんたちが色々とレポートなどは書かれているので、細かいことはお任せするとして、僕のメモ。 ■demo1「Flash CS4 言いたい放題」笠居トシヒロとゆかいな仲間たち ・モーションエディタのカラー効果は1つしか使えない(アルファと濃淡を同時に使えない)ので、詳細カラーでやるっきゃない。  →色変化はフィルタでやりましょうと。 ・FlashPlayer10は早いで!良い仕事をしているとベタ褒め。 ・3D回転の属性プロパティは、何故か変形パネルにある。 ・3Dを使うときは、AS3ではzを0にする必要あり(by野中さん) ・zプロパティより、レイヤーの優先度が高いので、手前と奥がおかしいので、よく考えて3Dは使わないとおかしくなる。  3Dを使えるようにするなら、zソートくらいつけてくれな(byサブリンさん) ・Flashのオーサリング範囲は、8192px以内。 ・CS4にカメラマークが画角になるが、カメラオブジェクトという概念はない。 ・IKは、スクリプトではできない。MCの制御のみ。 ・ボーンの関節位置は変形ツールで動かす。 ・バインドツールで、ボーンに対するアンカーポイントのリンクをセットする。 ■demo2「Flashの勉強・解析・サイトについて」 trick7 寺井周平氏 ・パパパメーターなどの紹介。 ・日常にはネタがたくさんある→興味を持ったらとりあえずFlashにしてみる。 ・エスカレーターに乗るような、身体が感じる気持ち良さ。 ・Google Analytics Tracking for Adobe Flashの紹介。 ■demo3「Flash・Flexのテキスト周りの進化について」Adobe Nat McCully氏 ・テキストレイアウトフレームワークの紹介。 ■demo4「オレら的Flash Design」FITC Ralph Hauwert氏 & Erik Natzke氏 ・Papervision3D の開発者メンバーのRalph Hauwert氏のPapervisionXが開発中ですよと。 ・Erik Natzke氏のFlashアートのお話。 そして、いつものごとく2次会へ。その2次会の模様の動画か画像が、FITCのTOPに出るらしい。ほんまに?

「最初の2歩目」行きました

「元気になるprogression講座 最初の2歩目」に行ってきました。 2歩目というだけあって、おそらく参加しているヒトは僕と同じようなレベルと思われる。 一応、progression全体の簡単な説明から、シーン、キャスト、イベントなどの説明、さらに実際にノートPCで各自サンプルを作成していく。 僕自身は、タイムラインベースでしか実際に制作をしたことがなかったので、コマンドベースへ移行するにあたって詰まったときの逃げ道?(講座では「裏街道」と呼んでたけど;)も知れてよかった。 あっという間の1時間半でした。 ■new AddChild(this, _mc, {child:{ x:73, y:60 }})とまとめて書ける。 ■ステージ上のrootは、CastDocument.rootであらわす。 ■SceneObjectに作成したインスタンス、変数等の参照にはgetSceneBySceneIdを使う。 などが僕は今回一番のポイント。 特に1番目は今までPropで書いてからAddChildしていたので、コードが短くなるのが嬉しっ! >サカモト先生 ありがとうございました! 是非3歩目も参加したいと思いますのでヨロシクお願いします(__)

「元気になるprogression講座 最初の2歩目」行きます

「元気になるprogression講座 最初の2歩目」に申し込みました。 ついブログのURLを打ち出してから、やっぱりコピペのほうが早いやん!と思いコピペしたら失敗。二回もコメントしてしまい、ごめんなさい。最初のコメント消してもらえると嬉しいです。 気になる内容は、”主にクラスベースで「最初にここで困るんじゃないの」という内容を基本”とのこと。クラスベースは少ししか触れてないんやけど、セミナーまでには今の仕事でがっつり触れるとええなぁ。 そういや、月末の「F-site的MAX」にも参加します。 応募したときはまだ未発表やったけど、demo2はtrick7のteraさんになったみたいや。 勉強させて頂きます(__)。