Tips
正月にArduinoで遊んでみた
2009/01/08
レーザーポインタで絵描きたいなーと思ってArduinoをいじってみたので最初の設定なんかをまとめました。
flash-モーターでポインタ動かす-webカムで撮る-flashでレイヤー効果(明)でdrawとか、露出開けっ放しで撮った感じ目指して。
まずArduinoをFlashで動かすのに必要なもの
・Arduinoに転送しておくfirmata
・firmataをコンパイル・転送するためのArduino
・SWFとArduinoの橋渡しをするserproxy or funnel
・Flash,ASのライブラリ
よく使うコードを素早く使う拡張機能 snipetsCP
2008/12/03
ASを書いている時、何度も同じコードを書いたりするけど融通利くようにクラス化するのもまためんどくさいことがあり、結局昔のソースから引っ張り出したりしてますが、コピペ登録パネルに保存しておけばすぐ呼び出せて便利ってことでできました。

ガンバル携帯Flashでハマる7つの落とし穴
2008/12/01
こんにちは
カヤックモバイル$のアラガです
先日「デコメ80取放」に「デコメ絵文字作〜る」という開発者もユーザーもモーレツにガンバルFlashLiteで作ったコンテンツをオープンさせました。

「デコメ絵文字作〜る」って何?というのを説明しますと、携帯電話でピコピコして20x20dotで最大10フレームのアニメーション絵文字を作ることが出来るコンテンツです。
今までもアプリでは沢山絵文字作成ツールはありましたが、アプリだと3キャリア分開発しなければならないので、思い切ってFlashで制作してみました。
さて、ユーザーがガンバル携帯Flashでは、一般的なPC向けのFlashや待ち受けFlashの制作では想像もしないような落とし穴が沢山あります。
今回は沢山ハマった中から、厳選した7つの落とし穴を紹介いたします。
7つのステップで完成!FlashDevelopカスタマイズの奥義
2008/11/26
こんにちは、FlashDevelopデビューして早数ヶ月のkijimaです。
今回の記事は、悠々自適にFlashDevelopで開発を進める僕を見てMacからWindowsに開発環境を移行しようか真剣に考えている、隣の席の弊社Flasherに捧げます。
それではさっそく、カスタマイズ方法について解説していきます!
【デバッグ強化週間】デバッグツールXrayを使ってみた
2008/11/22
デバッグ週間なのでXray使ってみました。as2.0では有名だったそうで、そのas3.0が出ましたので使ってみました。自分は主にFlashTracerを使っていたのでXrayについては良く分かりませんが、使用感についてレポートしたいと思います。
Xrayスナップショット
意外と知らないActionScriptのイベントにまつわる3つの小技
2008/11/21
すっごく地味だけどたまに便利で、時にはつかいどころを考えないといけないようなミニTipsをいくつか紹介します。
【デバッグ強化週間】log.asを使ってFirebugのコンソールにデータを出力!
2008/11/21
AS3,FireBug,FireFox,JavaScript,デバッガ
今年も沢山雪が降ってくれる事をねがっている、ナックルです!
デバッグ強化週間ということで、私はlog.asを使ってみました。 log.as といっても、Firebugのjsをたたいて、コンソールに表示させるというものです。
設定も簡単!!

【デバッグ強化週間】3分でできるデバッグ環境! ThunderBolt AirConsoleまとめ
2008/11/20
AIRってなんでトレース出ないの。。。
そう、組み始めるまで忘れてるんですよね。
まさか、
function log(mes:String){ debug_txt.text+=mes+"\n"+"----"+"\n"; }
log("hogehoge") //output hogehoge
いや、、無いなー・・・・という時に。
3分でもろもろセットアップ。はい、いきます。
FlashDevelopのプラグインをいろいろ試してみた!
2008/11/18
カヤックに入るまでFlashDevelopの存在は知っていたけど、使っていなかったKnuckleです。
FlashDevelopを使ってみて、その便利さにビックリ!!!もう手放せません!格段にスペルミスが減りました。
そしてさらに便利になるプラグインがあるんですねー。
プラグインの入れ方は、ダウンロードしてきたdllを C:\Program Files\FlashDevelop\Plugins に入れてFlashDevelop再起動!
インストールすると Tools>Program Setting の Plugins に表示されます。設定変更もそこからできます。
オススメプラグインは...
【デバッグ強化週間】AIR製デバッグツールArthropodを使ってみた
2008/11/18
どもども、先週末はカラオケでTK祭りを開催してました。kijimaです。
今週は秋のデバッグ強化週間ということで世に溢れるデバッグツールのレビューをお届けしてます。これを機にみなさんも気になるデバッガを導入してはいかがでしょーか?開発スピードが格段にアップすること間違いナシ!です。
適当に各Flasherにひとつずつデバッガを割り振ってみた結果、僕はArthropodというAS3用デバッガ担当になりました。それではレビューをどうぞ!
Arthropodスナップショット
【デバッグ強化週間】デバッグツールFlexSpyを使ってみた
2008/11/17
どもども、FlashIDEはほとんど使えないけど、swfmillとFlexは結構使ってるアラガです。
デバッグ強化月間と言うことですが、俺には「俺様ロガー」があるし、Flash素人なんで関係ないかなーと思ったら、kijimaがFlex用のFlexSpyを見つけてきたので、Flex愛好家の僕が試してみることになりました。
FlexSpyとは、Flex2・Flex3用に作られたツールで、mxml版のFireBugを目指しているらしい。
それではレポートをどうぞ!
FlexSpyスナップショット
【デバッグ強化週間】デバッグツール「Alcon」を使ってみた
2008/11/16
AlconはAIRベースのデバッグツールで、ウェブブラウザやスタンドアローンのFlash Player、AIRランタイム上のAS2、AS3のデバッグをサポートしてくれるツールだそうです。 なんか便利そうなので、早速インストールしてみましたので、使用感をレポートします。
Alcon オフィシャルサイト
Flashのメモリを制する5つの秘訣..
2008/11/13
こんにちは、新米FDのkoyuです。 今回のエントリーは世知辛い社会から魂の解放、いや、パンパンになったメモリの解放についてです。
ActionScript3.0でスライドショーなど動的に画像をロードするようなコンテンツを作成する場合に画像をロードし、removeChildしますよね?しかし、画像に対しての参照が残っていた場合に、読み込んだLoaderやDisplayObjectをremoveChildをしただけではメモリが解放されず、ガンガン膨らんできます。
その様はまるで我が国の国債の発行残高のようです。結果として挙動が悪くなったり、ブラウザが落ちたりします。
では、参照が残るとはどういうことでしょうか?
例として挙げられるのは
- ・addEventListenerをしている場合
- ・変数に代入している場合
かく言う、私はハマってしまいして、その経験から本エントリーを書いた次第です。 それでは見ていきましょう
Here We Go!!その場で終わるトゥイーン3種
2008/09/24
したい事がよくあり、何度かに動きを分けてやればいいんですが面倒なのでその場
で動くだけのものをいくつか作りました。
ずーっとプルプルさせるのも、マウスに反応させるのもありです。
使う場面はいろいろですが今回はマウスに反応させてあります。
XML の扱い方いろいろ
2008/09/07
XML からデータを取り出してどのように処理させるかという処理の実装が、以外と人によって違うんだなぁと最近思い至りまして。
infoObj みたいな Object に一旦情報を移してやる人と、XML のノードをそのまま情報として渡してしまう人がいるのですが、性能的に問題なければ自分は大体後者でやっています。XML ノードを丸ごと渡すことの利点は情報が増えたり XML の内容が変わったときの改修の手間が楽というのと、XML をそのまま情報として保持しているので後でソースを見たときに理解しやすいというのがあります。
以下、写真のスライドショーの処理を例に書いてみました。
// 「一旦情報を移すやり方」
override protected function run():void {
_tUrlLoadThread = new URLLoaderThread(new URLRequest(INFO_XML));
_tUrlLoadThread.start();
_tUrlLoadThread.join();
next(loadedInfo);
}private function loadedInfo() {
var xml:XML = new XML(_tUrlLoadThread.loader.data);
var len:Number = xml.items.item.length();
for (var i:Number = 0; i < len; i++ ) {
// 先にデータを取りだして処理する
var photoInfo:Object = new Object();
photoInfo.url = xml.items.item[i].url;
photoInfo.title = xml.items.item[i].title;
photoInfo.date = xml.items.item[i].@date;
_photoInfoList.push(photo);
}
Main.getInstance().initSlide();
}// 「XML のノードをそのまま情報として渡すやり方」
override protected function run():void {
_tUrlLoadThread = new URLLoaderThread(new URLRequest(INFO_XML));
_tUrlLoadThread.start();
_tUrlLoadThread.join();
next(loadedInfo);
}private function loadedInfo() {
var xml:XML = new XML(_tUrlLoadThread.loader.data);
var len:Number = xml.items.item.length();
for (var i:Number = 0; i < len; i++ ) {
// とりあえず情報をノードごとまるっと渡して処理する
_photoList.push(new Photo(xml.items.item[i]));
}
Main.getInstance().initSlide();
}
AS3のオレ様Loggerをご紹介
2008/08/23
AS3,FireBug,FlashPlayer10,trace,デバッガ
どうも時々ActionScriptとも戯れているプログラマのaragaです
僕はFlexBuilderを使って開発をするのですが、FlexSDKにはFlashと違ってビルド時にTraceアクションを省略するオプションがありません。
そこで、Flexで開発するときは、trace() は絶対に使わないでオレ様Loggerを使用するというのを僕の中のルールにしています。
このオレ様LoggerがFlashPlayer10と戯れたり、AIRのアプリを作ったりするときにけっこう威力を発揮するなと最近思い始めたので、少しご紹介いたします。
特徴
- エラーレベルによる出力の管理
DEBUG(=0),INFO,WARNING,ERROR,FATAL(=4) - ObjectとArrayの視覚化
ObjectとArrayを [key] => valueとして階層ごとにインデントを付けて視覚化できます - 出力方法をカスタマイズできる
出力処理部分にStrategyパターンを使用しており、実装するインスタンスを用途に合わせて変更するだけで、多彩な出力ができます。
(ILoggingを実装してput(string:String, level:int=0):voidを作るだけ) - 軽量
出力関数に4行でたどり着くので軽いです。(エラーレベル判定、出力文字追加、出力)
改行コードの検索
2008/07/25
str.split("\n"); // str = 文字列
という感じにブログの文言などを改行コードで分割しようとしたのですが、どうも "\n" で改行が検索されなくて、しばらくその機能をホーチング博士していたのですが、次のようにしました。正しいやり方かはちょっとわからないのですが、今のところ元気に動いているようです。
str.split(String.fromCharCode(13)); // str = 文字列
もし「こんなスマートなやり方あるよ!」という方がいらっしゃいましたらぜひお知らせくださいませ!
Flashで全てのボタンを一時的に無効にする小技
2008/07/17
こんにちは
aragaです。先日初めてFlexではなくFlashCS3を使いました。
カヤック10周年サイトの「みんなのお祝いメッセージ」はアニメーションにこだわりを持っているので、一時的に全てのマウスイベントを無効にしたりしています。
こんなとき、全てのボタンにremoveEventListener()して、回復時に再度addEventListenerなんてしていたら、僕みたいな怠惰なプログラマは気が狂ってしまいます。
そこで、ちょっとした技を考えました。
FLASHerの仕事を早くする4つのAIR
2008/07/09
製作の仕事をしていると、やっぱりいいソフトがあった方が幸せになれますよね。
僕も用途に合わせたソフトをいくつも入れていますが、最近AIR製のアプリも何気にあるんだなーっと思ったのでご紹介。
SWFObject 2.0 generator v1.1 AIR
ご存知SWFObejectのジェネレータです。
とりあえずプレビューっていう時にとても重宝します。
http://www.swffix.org/devblog/
で公開されているjavascript版(?)をAIRにかためただけって感じですが、ローカルなのでオフラインでも安心です。
downloadはコチラ↓
http://code.google.com/p/swfobject/downloads/list
ThunderBoltAS3Console
Satoの記事が詳しいですが、期待大のデバッガー。
右クリックメニューに別ウインドウで開く
2008/07/09
よくしますが、右クリックメニューに追加してみたいと思います。
せまいエリアでのテキスト表示
2008/07/03
リストの一覧表示時などに、きまったエリアのサイズ内にテキストを表示する場合に、
見出し的に表示しますが、その場合にそのまま流し込むと文字の半分で切れたりする
ので文字の最後を…に置換したりロールオーバーでスクロールさせたりしますが、その
サンプルです。
上が表示文字の最後を…などに置換するもの、
下がロールオーバーでスクロールさせて見えるもの。
文字列と表示したいサイズの幅を設定します。
こんな感じ。
tx_auto01.setText("あいうえおかきくけこさしすせそあいうえおかきくけこさしすせそ",150);

Flashのログ閲覧アプリThunderBoltをいれてみた
2008/06/25
FlashのTrace等ログを表示するものはfirefoxの拡張機能のFlashtracerやarthropodなどがありますよね。
今まではFlashTracerを使用していたんですが、ブラウザで他のFlashを表示していて、そのFlashがTraceを吐いていたりすると全部表示されたりするので(フィルタはかけられますが・・・)、見にくかったりしました。
というわけで、今回はThunderBoltを試してみました。
ソースはThunderBolt公式サイトにて配布されています。
ThuderBoltの便利な点としては、
- ユーザがデバッグログをレベル分け(DEBUG、INFO、WARN、ERROR)できる。
- 出力表示をレベル別フィルタリングできる。
- ストリングだけでなく、配列やオブジェクトの中身もツリー構造で表示してくれる。
- AIR製の外部コンソールに出力できる。
使用方法は、
RGB⇔HSV変換とCMYK変換
2008/06/19
Flashで色変化するものを作っている時、よく色を濁らせずに彩度のみを
変更してアニメーションさせたいことがあるんですが、その時に一度RGBを
HSVに変換して少し変えてもどして、という時のためのサンプルです。
実際はcolorutil.asなんかを使えば楽だしいいんですが、たまには自分で
書こうというわけでやってみます。
MCのスナップショットをとる
2008/06/12
MC(というかDisplayObject)のスナップショットをBitmapDataとして取る方法を自分なりにメモします
var spt :Sprite = new Niku() as Sprite; // リンケージで生成した表示クラス var bmp:BitmapData = new BitmapData( spt.width, spt.height ); bmp.draw( spt ); addChild( new Bitmap( bmp ) );
基本的にはこれでスクリーンショットとして取得したBitmapDataを表示することができます
ですが、もし原点が中身の表示オブジェクトに対して左上に来ない場合があります。
そうするとただBitamapData.drawしても切れてしまいます。
CS3版 フォントのダイナミックなローディング
2008/06/06
FACEsさんのフォントのダイナミックなローディングをFlashCS3でもやってみました。「AXIS Std H」を埋め込んだサンプルをつくりました。
ホタルの動き その2
2008/06/05
知らなきゃ損するflashの機能 その1 「色の検索と置換」
2008/06/04
デザイナー目線でflashの使える機能を何回かに分けて紹介していこうと思います。
1回目は以前周りのflasherに聞いたときに誰も使っていなくて驚いた
色の「検索と置換」です。
1個1個選択して色を変える必要があります。
シンボルになっていればましですが、グループだった場合は相当面倒です。
そんな作業をショートカットできるのが色の「検索と置換」です。
やり方はテキストの置換と同じでステージ上で
"ctrl+F" で(Macなら"Command+F")
「検索と置換」パネルが開きます。
デフォルトでは対照がテキストになっているのカラーを選択して下さい。
上が変更したい色、下が変更後の色です。
"検索ボタン"でステージ上とライブラリから検索します。
検索後、"置換ボタン"で個別で色を置き換えれます。
"すべて置換"ボタンで、ステージ上とライブラリの中にある全ての色を一括で変更できます。
以前色修正の依頼が来た時に、シンボル数が6000個以上あったんですが、
この機能のおかげで一発で終わりました。
パーティクルで文字を浮かび上がらせてみる
2008/05/30
・今回作成してみたのはこちら(マウスダウンするとパーティクルが発生します。)
簡単なホタルの動き
2008/05/30
どうも
旧日本兵の様なステキなアイコンのさぶろうです
単純な円の動きを少し改良した
ぼつった蛍の動きアップします
基本的な円運動をxとyの動きを別々に設定して
xの係数、yの係数で一度の回転の動きを設定します。
var hSw = _Stage.width/2;
var hSh = _Stage.height/2;var rotx = 0; // x角度
var roty = 0; // y角度this.onEnterFrame = function(){
rotx = rotx + 0.5;
roty = roty + 0.1;
if(rotx > 360)
rotx -= 360;
if(roty > 360)
roty -= 360;
var rady = roty * Math.PI / 180;
var radx = rotx * Math.PI / 180;
var sin = Math.sin(rady);
var cos = Math.cos(radx);
this.l1._x = cos * 300 + hSw;
this.l1._y = sin * 200 + hSh;
}
//@AS2.0
今後も簡単ですぐ使えるやさしい運動系/物理系の動き
作っていくのでお試しあれ
ObjectDumperでオブジェクトの内容も丸見え。
2008/05/24
あっという間に、弊社の「旅する支社」制度、自分の滞在最終日になりました。
この「旅する支社」制度、参加する社員がいっせいにイタリアオフィスに移動するわけではなく、数人ごとのチーム編成を組んでローテーションで時期をずらしながら約一ヶ月間滞在しています。
さて、本題のObjectDumperについて。
本当は「ポップアップブロックをブロックして指定サイズでウィンドウを開く方法」を記事にまとめるつもりだったんですが、いろいろ調べていくうちに迷宮に入ってしまったので、今回は最近Flashで感動したObjectDumperについて(いまさら!)まだ知らない方へ向けての意味も込めて記事にしてみました。
音の波形で遊ぶ
2008/05/23
CS3から音が音量だけでなく波形で取れるようになっていますので、
ちょっと遊んでみます。

こんな感じ。
これは等間隔に音の強さを取って、それをcurveToでつなげています。
このように横に並べて使わなくても、円形にする、一定以上の強さに
なった時だけオブジェクトを発生させるなどの使い道があります。
参考:サウンドスペクトラムのコンテスト
AS3 Sound Spectrum Contest Results!!
AS2.0とAS3.0の違いでわかる定数クラス(またはメンバ)のメリット
2008/05/14
AS2からAS3に移った時に、クラスが増えたな、という印象がありました。
たとえばURLRequestMethodクラスとかTextFieldAutoSizeクラスとかやたらと値を取得するためのクラスがあります。
はじめはこうなっている意味がわからず、ただただ冗長なコードを鬱陶しく思っていました。
ですがAS2にもどってみて、エラーの見つけにくさやイベント名のばらつき("change"と"onChange"など)を逆に不便に感じてしまい、 特定の値に名前がついていることが開発者にとってとても重要なことに気づきました。
カスタムポリシーファイルの記述と読み込みのまとめ
2008/05/13
Flashから別ドメインにあるファイルにアクセスする際には、読み込みたいファイルが置いてあるサーバにカスタムポリシーファイルを設置する必要があります。 このファイルの設定や読み込み方にはまったので、まとめてみたいと思います。
- 基本的な記述方法
例をあげますと<?xml version="1.0"?> <cross-domain-policy> <site-control permitted-cross-domain-policies="all"/>//必須ではない <allow-access-from domain="level0.cuppy.jp" to-ports="80" secure="true"/> </cross-domain-policy>
のような形になります。
各属性に設定できる値は、
FLASH CS3バックアップと移行のツボ
2008/05/12
最近FLASHが原因不明のエラーで突如不安定になったことがあって、FLASH周りの環境構築を1からやり直す事になったのですが、そこからわかった"サクと簡単に環境をバックアップするツボ"(というか、これで十分だろうと思ったポイントですね)をメモしておきます。
※僕の環境はVistaなのでVistaベースで書きます。きっとMacやXP派の他のFDが書いてくれると信じてます。
-
まずやっておくこと
-
キーボードショートカット
-
-
パブリッシュ設定
-
ワークスペース
などなど、必要な部分をそれぞれのメニューから作成、保存しておきます。
-
一箇所にまとまっている設定ファイルをまとめてコピー
- C:\Users\[userName]\AppData\Local\Adobe\Flash CS3\ja\Configuration
ここにほぼ全部の環境ファイルがまとまっています。
僕はCommands、Keyboard Shortcuts、Publish Profiles、Workspaceを適せんでコピーしました。
- C:\Users\[userName]\AppData\Local\Adobe\Flash CS3\ja\Configuration
-
拡張機能(mxp)
-
アンインストールしても消えないみたいなので、そのままでOK。
僕の場合は、Webから落としてきたjsflを取りこぼさない様にExtentionManagerで全てoffにしておきました。
-
-
クラスパス
-
どこから引っ張ってきてるか確認
いつ何のライブラリを入れたかなんて思い出せないぐらいなので、確認オススメです。
Classesごと移すと何か怖いので、追加したサードパーティライブラリだけ移動。
-
環境移行や再インストールした後に新しい環境でそれぞれのファイルを元に戻してめでたく完了です。
実は、ただアンインストールしただけならC:\Users\[userName]\AppData\Local\Adobe\Flash CS3\ja\Configuration 以下はそのまま残っていたりするので、再インストールの場合は手間がもっと少ないです。僕の場合はどこが悪いのかわからないまま不安定な動作になっていたので、まっさらに戻してから即環境復旧という考えで移行に近い形をとりました。
"ずっと使っていると不安定になってくる"という様な噂は聞かないですが、急いでいる時に限って挙動がおかしい(気がします)FLASHを回復させるための最小バックアップ術でした。
AIR:タスクトレイアイコンにメニューを設定する
2008/05/08
以前にタスクトレイにアイコンを入れて常駐させる記事を書きましたが、
ここで右クリックメニューを追加してみます。
var trayicon:SystemTrayIcon;
var traymenu:NativeMenu;
trayicon = (NativeApplication.nativeApplication.icon as SystemTrayIcon);
var traymenu = new NativeMenu();
trayicon.menu = traymenu;
var exitmenu:NativeMenuItem = new NativeMenuItem("終了");
exitmenu.addEventListener(Event.SELECT, function(){NativeApplication.nativeApplication.exit();});
traymenu.addItem(exitmenu);
trayicon.addEventListener(MouseEvent.MOUSE_DOWN, closewin);
こんな感じ。右クリックすると終了のメニューが出てきます。
選択する時のイベントはEvent.SELECTになります。
pullDownBar
2008/05/07
自分がflashを始めたころプルダウンメニューを制作しようとしてとても苦労しました。
また意外とネットに自分が欲しいサンプルが無かったりして大変だった記憶があります。
そこで今回はプルダウンバーを作ってみました。
※actionScript2.0
何かと1つのコンテンツを制作するときプルダウン機能を使用することが多いと思うので、サンプル程度に見てもらえればいいなと思います。(まだ自分もflash初めて浅いのでコーディングて突っ込みたくなると思いますがそこは大目に見てください 笑)
AIR:SQLiteのDBの読み書き
2008/05/02
前回はテキストファイルの読み書きをやったので、今回はDBを使ったデータ保存と
読み込みについてやります。サンプルは今回も自動保存メモ帳です。
可変するテキストフィールドとフキダシのサンプル
2008/05/01
たとえばツールチップみたいなフキダシをつくるときに、1行に収まる場合は文字に幅がフィットし、ある程度の文章量があったら幅固定で改行して流し込みたいことがあります。
テキストフィールドの値の長さによって改行モードを切り替えるサンプルです。
アイテムを連番フレームに配置する
2008/04/29
ムービークリップの中にを状況に応じて変更する場合、 キーフレームごとに切り分けておいて、 状況に応じてムービークリップの表示フレームを切り替えていくと思います。
こんな感じにしといて、gotoAndStop(hoge)みたいな感じ。
上は8枚の画像を8フレームにわけたものですが、これが100枚とかになって、いちいち1フレームずつずらして・・・ってだるいことこのうえないですね。
そこで現在選択中レイヤーを下から1フレームずつずらしていってくれるJSFLを作成してみました。
想定した作業の流れはこちら。
1.振り分けたい画像群をまとめて読み込みます。
2.レイヤーに配分(Cmd+Shift+D)を使って読み込んだ画像をそれぞれのレイヤーに配分します。
3.振り分けられたレイヤーを選択して
4.今回作成したコマンドを実行(ちなみに私はCmd+Alt+Zにわりあててます)
5.一気に連番フレームにふりわけてくれます
今回作成したコードは以下のようなものです
var doc = fl.getDocumentDOM();
var tl = doc.getTimeline();
var layerArray = tl.getSelectedLayers();
var tmp = layerArray.shift();
layerArray.push(tmp);
var layerNum = layerArray.length;
for(var i = layerNum - 1; i >= 0; i--){
tl.setSelectedLayers(layerArray[i]);
tl.insertKeyframe(layerNum - i);
tl.convertToBlankKeyframes(1);
tl.removeFrames(0);
}
例えが画像なのでイメージシーケンスを使えばいいじゃんて思っちゃいましたが、 今回のは画像だけに限らないので結構使えるのではないでしょうか・・・。
前から欲しかった拡張パネルをSWFで作ってみる
2008/04/28
ちょっと大き目のキャンペーンサイトをオーサリングするたびに思っていたんですが、
MCインスタンスを開いて、ネストされたインスタンス名をつけて、また戻って。。。という風に行き来が激しくて無駄な動きが多くなってきます。
一応デフォルトとしてウインドウの複製(ctrl+alt+k)というのがあるのですが、他のオーサリングツールと同時起動していたり、どんどんパネルを増やしていくとメモリ消費が激しいのか段々不安定になっていって使い物にならない。
そこで、解決できる拡張パネルとコマンドを作ってしまえば楽になるかも!と思い立ち、模索しながら ただいま絶賛作成中です。
で、いくつかハマったのでリマインド。
1.そもそもデバッグ環境どうしよう?
FLASH IDEの中のパネルを作るという事は、まさかパブリッシュして、FLASH再起動!?と思ってある程度整えてみました。
- windowSWFに直書き出し
WinVistaではC:\Users\[userName]\AppData\Local\Adobe\Flash CS3\ja\Configuration\WindowSWF になります。ここにパブリッシュ設定で書き出し先へ指定。 - キーボードショートカットを登録
windowSWFにあるswfはメニュのウインドウ→他のパネル に現れるのでコレをキーボードショートカットに設定。(僕はctrl+\にしました。)
これでパブリッシュしてショートカットで即プレビュー。
パネルを出したり消したりしてるので、周りのFlasherから不思議な目で見られてました。
2.jsflの関数を呼び出し
どうも、MMExecute()での1行書きだと効率が悪い+物足りない部分が出てきたので、jsflから呼び出すことに。
適当なjsflをどこかに保存して、fl.runScriptで簡単呼び出しができます。
c\temp\とかもいけます。
fl.scriptURI(現在実行中のjsflのパスを返す)というプロパティがあるので、組み合わせておくと余計なことを考えないでよくて便利です。
test.jsfl内に
function jsflFunc(){ return "testMessage!" }
と記述し、
var command:String='fl.runScript(fl.scriptURI , "jsflFunc")'
var mess="JSFL : "+MMExecute(command)
trace(mess)
これでJSFL : testMessage! と出れば成功。
どうやらうまくいったようです。
3.選択したdocument.selectionを保持したい
ヘルプの拡張機能の部分をざっと見たところ、どうやらElementに対してのユニークなプロパティは定義されていないようでした。
InstanceNameが取れるのでそれがユニークなはずだよね?ということなんでしょうか。
一応、fl.findObjectInDocByName(instanceName, document)とElement.setPersistentData、Element.getPersistentDataの組み合わせでなんとかなりそうですが、汚染しちゃうのが厄介。
いい方法を絶賛模索中。引き続きがんばります。
swfファイルからflaファイルに変換・抽出できるデコンパイラを試してみた。
2008/04/25
Flashを扱っていると、swfファイルからActionScriptやflaファイルを抽出できる、「デコンパイラ」の存在を知ると思います。
デコンパイラとは、コンパイルされたswfファイルをflaファイルに変換したり、swfファイル内に含まれる素材を抽出することが出来るツールのことで、大事なflaファイルを紛失してしまったときの蘇生手段として活躍します。
ですが実際にはその使われ方よりも、参考にしたいFlashの中身はどうなっているのかを純粋に解析したいときに良く使われているんじゃないでしょうか。
今回は自分が使ったことのあるデコンパイラを二つご紹介します。
演出の基本ロジックサンプルその2
2008/04/24
その~と名前付けておいて2回目忘れていました。
今回は球面上の移動サンプルです。かなり昔のソースをAS3に移植しました。

うろうろするものが作りたかったんですが、XY平面で普通にやっちゃうと直線的だしなんか
奥行きも欲しいよね、ということでZ軸をもたせて球面上を動き回るものにしました。
AIR:タスクトレイ常駐させたい
2008/04/24
常駐系のメモパッドを作ろうとしてたらタスクトレイにアイコン出す方法は
すぐに見つかったんですがタスクバーから消す方法がFLEXでのサンプルしか
見当たらなかったので、いろいろやってみました。
今回はwindowsのみターゲットです。
AIR:flvプレーヤーを作ってみました
2008/04/21
正式版が出たAIRですがいざ作ろうとしたらbeta1,2,3の頃のそのまま使えない
サンプルが入り混じっていて今使えるコードが判りにくいのでサンプル作って
みました。AIR正式版で動作します。
FLVファイルをdrag&dropで再生するFLVプレーヤーです。
FlashDevelopのコード補完機能
2008/04/17
FlashDevelop3 beta6が大変便利なので便利なところを自分なりにまとめてみました。
第一弾は下記です。(他にもあるので続くと思います)

