Tips

hidaka

正月にArduinoで遊んでみた

2009/01/08

tagAS3,Arduino,funnel

レーザーポインタで絵描きたいなーと思ってArduinoをいじってみたので最初の設定なんかをまとめました。
flash-モーターでポインタ動かす-webカムで撮る-flashでレイヤー効果(明)でdrawとか、露出開けっ放しで撮った感じ目指して。

まずArduinoをFlashで動かすのに必要なもの
・Arduinoに転送しておくfirmata
・firmataをコンパイル・転送するためのArduino
・SWFとArduinoの橋渡しをするserproxy or funnel
・Flash,ASのライブラリ

続きを読む

hidaka

よく使うコードを素早く使う拡張機能 snipetsCP

2008/12/03

tagAS3,mxp

ASを書いている時、何度も同じコードを書いたりするけど融通利くようにクラス化するのもまためんどくさいことがあり、結局昔のソースから引っ張り出したりしてますが、コピペ登録パネルに保存しておけばすぐ呼び出せて便利ってことでできました。

コピペ登録パネル

続きを読む

araga

ガンバル携帯Flashでハマる7つの落とし穴

2008/12/01

tagFlash Lite,Mobile

こんにちは

カヤックモバイル$のアラガです

先日「デコメ80取放」に「デコメ絵文字作〜る」という開発者もユーザーもモーレツにガンバルFlashLiteで作ったコンテンツをオープンさせました。

「デコメ絵文字作〜る」って何?というのを説明しますと、携帯電話でピコピコして20x20dotで最大10フレームのアニメーション絵文字を作ることが出来るコンテンツです。

今までもアプリでは沢山絵文字作成ツールはありましたが、アプリだと3キャリア分開発しなければならないので、思い切ってFlashで制作してみました。


さて、ユーザーがガンバル携帯Flashでは、一般的なPC向けのFlashや待ち受けFlashの制作では想像もしないような落とし穴が沢山あります。

今回は沢山ハマった中から、厳選した7つの落とし穴を紹介いたします。

続きを読む

kijima

7つのステップで完成!FlashDevelopカスタマイズの奥義

2008/11/26

tagFlashDevelop

こんにちは、FlashDevelopデビューして早数ヶ月のkijimaです。

今回の記事は、悠々自適にFlashDevelopで開発を進める僕を見てMacからWindowsに開発環境を移行しようか真剣に考えている、隣の席の弊社Flasherに捧げます。


それではさっそく、カスタマイズ方法について解説していきます!

続きを読む

koyu

【デバッグ強化週間】デバッグツールXrayを使ってみた

2008/11/22

tagXray,デバッガ

デバッグ週間なのでXray使ってみました。as2.0では有名だったそうで、そのas3.0が出ましたので使ってみました。自分は主にFlashTracerを使っていたのでXrayについては良く分かりませんが、使用感についてレポートしたいと思います。

Xrayスナップショット

Xrayスナップショット

続きを読む

doke

意外と知らないActionScriptのイベントにまつわる3つの小技

2008/11/21

tagEvent,trace

すっごく地味だけどたまに便利で、時にはつかいどころを考えないといけないようなミニTipsをいくつか紹介します。

続きを読む

Knuckle

【デバッグ強化週間】log.asを使ってFirebugのコンソールにデータを出力!

2008/11/21

tagAS3,FireBug,FireFox,JavaScript,デバッガ

今年も沢山雪が降ってくれる事をねがっている、ナックルです!

デバッグ強化週間ということで、私はlog.asを使ってみました。 log.as といっても、Firebugのjsをたたいて、コンソールに表示させるというものです。
設定も簡単!!

firebug

続きを読む

Murai

【デバッグ強化週間】3分でできるデバッグ環境! ThunderBolt AirConsoleまとめ

2008/11/20

tagFireBug,ThunderBolt,デバッガ

AIRってなんでトレース出ないの。。。

そう、組み始めるまで忘れてるんですよね。
まさか、

function log(mes:String){ debug_txt.text+=mes+"\n"+"----"+"\n"; }
log("hogehoge") //output hogehoge

いや、、無いなー・・・・という時に。

3分でもろもろセットアップ。はい、いきます。

続きを読む

Knuckle

FlashDevelopのプラグインをいろいろ試してみた!

2008/11/18

tagFlashDevelop,ショートカット,プラグイン

カヤックに入るまでFlashDevelopの存在は知っていたけど、使っていなかったKnuckleです。

FlashDevelopを使ってみて、その便利さにビックリ!!!もう手放せません!格段にスペルミスが減りました。 そしてさらに便利になるプラグインがあるんですねー。

プラグインの入れ方は、ダウンロードしてきたdllを C:\Program Files\FlashDevelop\Plugins に入れてFlashDevelop再起動!
インストールすると Tools>Program Setting の Plugins に表示されます。設定変更もそこからできます。

オススメプラグインは...

続きを読む

kijima

【デバッグ強化週間】AIR製デバッグツールArthropodを使ってみた

2008/11/18

tagAS3,サンプルコード,デバッガ

どもども、先週末はカラオケでTK祭りを開催してました。kijimaです。

今週は秋のデバッグ強化週間ということで世に溢れるデバッグツールのレビューをお届けしてます。これを機にみなさんも気になるデバッガを導入してはいかがでしょーか?開発スピードが格段にアップすること間違いナシ!です。

適当に各Flasherにひとつずつデバッガを割り振ってみた結果、僕はArthropodというAS3用デバッガ担当になりました。それではレビューをどうぞ!

Arthropodスナップショット

Arthropodスナップショット

続きを読む

araga

【デバッグ強化週間】デバッグツールFlexSpyを使ってみた

2008/11/17

tagFlex,デバッガ

どもども、FlashIDEはほとんど使えないけど、swfmillとFlexは結構使ってるアラガです。

デバッグ強化月間と言うことですが、俺には「俺様ロガー」があるし、Flash素人なんで関係ないかなーと思ったら、kijimaがFlex用のFlexSpyを見つけてきたので、Flex愛好家の僕が試してみることになりました。

FlexSpyとは、Flex2・Flex3用に作られたツールで、mxml版のFireBugを目指しているらしい。

それではレポートをどうぞ!

FlexSpyスナップショット

FlexSpyスナップショット

続きを読む

Sato

【デバッグ強化週間】デバッグツール「Alcon」を使ってみた

2008/11/16

tagデバッガ

AlconはAIRベースのデバッグツールで、ウェブブラウザやスタンドアローンのFlash Player、AIRランタイム上のAS2、AS3のデバッグをサポートしてくれるツールだそうです。 なんか便利そうなので、早速インストールしてみましたので、使用感をレポートします。

Alcon オフィシャルサイト

http://blog.hexagonstar.com/alcon/

続きを読む

koyu

Flashのメモリを制する5つの秘訣..

2008/11/13

tagAS3,ガベージコレクション,メモリ

こんにちは、新米FDのkoyuです。
今回のエントリーは世知辛い社会から魂の解放、いや、パンパンになったメモリの解放についてです。

ActionScript3.0でスライドショーなど動的に画像をロードするようなコンテンツを作成する場合に画像をロードし、removeChildしますよね?
しかし、画像に対しての参照が残っていた場合に、読み込んだLoaderやDisplayObjectをremoveChildをしただけではメモリが解放されず、ガンガン膨らんできます。
その様はまるで我が国の国債の発行残高のようです。結果として挙動が悪くなったり、ブラウザが落ちたりします。

では、参照が残るとはどういうことでしょうか?
例として挙げられるのは

    ・addEventListenerをしている場合
    ・変数に代入している場合
などです。

かく言う、私はハマってしまいして、その経験から本エントリーを書いた次第です。 それでは見ていきましょう

Here We Go!!

続きを読む

hidaka

その場で終わるトゥイーン3種

2008/09/24

tagサンプルコード

アニメーションを作る際にTweenerなんかをよく使いますが、始点と終点を同じに
したい事がよくあり、何度かに動きを分けてやればいいんですが面倒なのでその場
で動くだけのものをいくつか作りました。
ずーっとプルプルさせるのも、マウスに反応させるのもありです。
使う場面はいろいろですが今回はマウスに反応させてあります。

続きを読む

seo

XML の扱い方いろいろ

2008/09/07

tagxml

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();
}

araga

AS3のオレ様Loggerをご紹介

2008/08/23

tagAS3,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行でたどり着くので軽いです。(エラーレベル判定、出力文字追加、出力)

続きを読む

seo

改行コードの検索

2008/07/25

str.split("\n"); // str = 文字列

という感じにブログの文言などを改行コードで分割しようとしたのですが、どうも "\n" で改行が検索されなくて、しばらくその機能をホーチング博士していたのですが、次のようにしました。正しいやり方かはちょっとわからないのですが、今のところ元気に動いているようです。

str.split(String.fromCharCode(13)); // str = 文字列

もし「こんなスマートなやり方あるよ!」という方がいらっしゃいましたらぜひお知らせくださいませ!

araga

Flashで全てのボタンを一時的に無効にする小技

2008/07/17

tagSprite

こんにちは
aragaです。先日初めてFlexではなくFlashCS3を使いました。

カヤック10周年サイトの「みんなのお祝いメッセージ」はアニメーションにこだわりを持っているので、一時的に全てのマウスイベントを無効にしたりしています。
こんなとき、全てのボタンにremoveEventListener()して、回復時に再度addEventListenerなんてしていたら、僕みたいな怠惰なプログラマは気が狂ってしまいます。

そこで、ちょっとした技を考えました。

続きを読む

Murai

FLASHerの仕事を早くする4つのAIR

2008/07/09

tagJSON,デバッガ

製作の仕事をしていると、やっぱりいいソフトがあった方が幸せになれますよね。
僕も用途に合わせたソフトをいくつも入れていますが、最近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の記事が詳しいですが、期待大のデバッガー。

続きを読む

hidaka

右クリックメニューに別ウインドウで開く

2008/07/09

tagサンプルコード

Flashでナビゲーション作ると別ウインドウで開きたいのにできないよって話を
よくしますが、右クリックメニューに追加してみたいと思います。

続きを読む

hidaka

せまいエリアでのテキスト表示

2008/07/03

tagサンプルコード

リストの一覧表示時などに、きまったエリアのサイズ内にテキストを表示する場合に、
見出し的に表示しますが、その場合にそのまま流し込むと文字の半分で切れたりする
ので文字の最後を…に置換したりロールオーバーでスクロールさせたりしますが、その
サンプルです。

上が表示文字の最後を…などに置換するもの、
下がロールオーバーでスクロールさせて見えるもの。
文字列と表示したいサイズの幅を設定します。

こんな感じ。
tx_auto01.setText("あいうえおかきくけこさしすせそあいうえおかきくけこさしすせそ",150);

ソースはこちら

Sato

Flashのログ閲覧アプリThunderBoltをいれてみた

2008/06/25

tagtrace,デバッガ

FlashのTrace等ログを表示するものはfirefoxの拡張機能のFlashtracerやarthropodなどがありますよね。
今まではFlashTracerを使用していたんですが、ブラウザで他のFlashを表示していて、そのFlashがTraceを吐いていたりすると全部表示されたりするので(フィルタはかけられますが・・・)、見にくかったりしました。

というわけで、今回はThunderBoltを試してみました。

ソースはThunderBolt公式サイトにて配布されています。

ThuderBoltの便利な点としては、

  • ユーザがデバッグログをレベル分け(DEBUG、INFO、WARN、ERROR)できる。
  • 出力表示をレベル別フィルタリングできる。
  • ストリングだけでなく、配列やオブジェクトの中身もツリー構造で表示してくれる。
  • AIR製の外部コンソールに出力できる。
があげられると思います。


使用方法は、

続きを読む

hidaka

RGB⇔HSV変換とCMYK変換

2008/06/19

tagサンプルコード

Flashで色変化するものを作っている時、よく色を濁らせずに彩度のみを
変更してアニメーションさせたいことがあるんですが、その時に一度RGBを
HSVに変換して少し変えてもどして、という時のためのサンプルです。
実際はcolorutil.asなんかを使えば楽だしいいんですが、たまには自分で
書こうというわけでやってみます。

続きを読む

doke

MCのスナップショットをとる

2008/06/12

tagAS3,BitmapData,Sprite,サンプルコード

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しても切れてしまいます。

続きを読む

doke

CS3版 フォントのダイナミックなローディング

2008/06/06

tagFont,サンプルコード

FACEsさんフォントのダイナミックなローディングをFlashCS3でもやってみました。「AXIS Std H」を埋め込んだサンプルをつくりました。

続きを読む

hidaka

ホタルの動き その2

2008/06/05

tagサンプルコード

梅雨入りしてじめじめしてるのでsaburoの記事に習ってさっぱり蛍を作ります。
今回は光の軌跡・瞬きの処理を追加しました。
キャプチャしてぼかし&グローすることで軌跡を描いています。
動きと色を変えて調整すると花火のようにもなるのでこれからの季節おすすめです。

今回のソース

続きを読む

Shimada

知らなきゃ損するflashの機能 その1 「色の検索と置換」

2008/06/04

コンニチハflasher兼デザイナーのshimadaです。

デザイナー目線でflashの使える機能を何回かに分けて紹介していこうと思います。

1回目は以前周りのflasherに聞いたときに誰も使っていなくて驚いた
色の「検索と置換」です。

例えば下の1回で同じ色を選択しずらい場合、
1個1個選択して色を変える必要があります。
color_00.gif
シンボルになっていればましですが、グループだった場合は相当面倒です。

そんな作業をショートカットできるのが色の「検索と置換」です。

やり方はテキストの置換と同じでステージ上で
"ctrl+F" で(Macなら"Command+F")
「検索と置換」パネルが開きます。
color_01.gif
デフォルトでは対照がテキストになっているのカラーを選択して下さい。
上が変更したい色、下が変更後の色です。
"検索ボタン"でステージ上とライブラリから検索します。
検索後、"置換ボタン"で個別で色を置き換えれます。
"すべて置換"ボタンで、ステージ上とライブラリの中にある全ての色を一括で変更できます。


以前色修正の依頼が来た時に、シンボル数が6000個以上あったんですが、
この機能のおかげで一発で終わりました。

Sato

パーティクルで文字を浮かび上がらせてみる

2008/05/30

tagBitmapData

ビットマップデータは使い方によっていろいろな見せ方ができて、便利ですよね。 今回はビットマップの色特徴をパーティクルの動きに反映させる事でパーティクルで絵を浮き上がらせる事をやってみたいと思います。

・今回作成してみたのはこちら(マウスダウンするとパーティクルが発生します。)

続きを読む

saburo

簡単なホタルの動き

2008/05/30

tagサンプルコード

どうも
旧日本兵の様なステキなアイコンのさぶろうです

単純な円の動きを少し改良した
ぼつった蛍の動きアップします

基本的な円運動を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

今後も簡単ですぐ使えるやさしい運動系/物理系の動き
作っていくのでお試しあれ

 

kijima

ObjectDumperでオブジェクトの内容も丸見え。

2008/05/24

tagAS2,ObjectDumper

あっという間に、弊社の「旅する支社」制度、自分の滞在最終日になりました。

この「旅する支社」制度、参加する社員がいっせいにイタリアオフィスに移動するわけではなく、数人ごとのチーム編成を組んでローテーションで時期をずらしながら約一ヶ月間滞在しています。


さて、本題のObjectDumperについて。

本当は「ポップアップブロックをブロックして指定サイズでウィンドウを開く方法」を記事にまとめるつもりだったんですが、いろいろ調べていくうちに迷宮に入ってしまったので、今回は最近Flashで感動したObjectDumperについて(いまさら!)まだ知らない方へ向けての意味も込めて記事にしてみました。


続きを読む

hidaka

音の波形で遊ぶ

2008/05/23

tagサンプルコード

CS3から音が音量だけでなく波形で取れるようになっていますので、
ちょっと遊んでみます。

こんな感じ。
これは等間隔に音の強さを取って、それをcurveToでつなげています。
このように横に並べて使わなくても、円形にする、一定以上の強さに
なった時だけオブジェクトを発生させるなどの使い道があります。

参考:サウンドスペクトラムのコンテスト
AS3 Sound Spectrum Contest Results!!

今回のソース

doke

AS2.0とAS3.0の違いでわかる定数クラス(またはメンバ)のメリット

2008/05/14

tagAS2,AS3,サンプルコード

AS2からAS3に移った時に、クラスが増えたな、という印象がありました。
たとえばURLRequestMethodクラスとかTextFieldAutoSizeクラスとかやたらと値を取得するためのクラスがあります。
はじめはこうなっている意味がわからず、ただただ冗長なコードを鬱陶しく思っていました。

ですがAS2にもどってみて、エラーの見つけにくさやイベント名のばらつき("change"と"onChange"など)を逆に不便に感じてしまい、 特定の値に名前がついていることが開発者にとってとても重要なことに気づきました。

続きを読む

Sato

カスタムポリシーファイルの記述と読み込みのまとめ

2008/05/13

tagcrossdomain

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>

    のような形になります。
    各属性に設定できる値は、

続きを読む

Murai

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を適せんでコピーしました。
  • 拡張機能(mxp)

    • アンインストールしても消えないみたいなので、そのままでOK。

      僕の場合は、Webから落としてきたjsflを取りこぼさない様にExtentionManagerで全てoffにしておきました。

  • クラスパス

    • どこから引っ張ってきてるか確認

      いつ何のライブラリを入れたかなんて思い出せないぐらいなので、確認オススメです。
      Classesごと移すと何か怖いので、追加したサードパーティライブラリだけ移動。

環境移行や再インストールした後に新しい環境でそれぞれのファイルを元に戻してめでたく完了です。

実は、ただアンインストールしただけならC:\Users\[userName]\AppData\Local\Adobe\Flash CS3\ja\Configuration 以下はそのまま残っていたりするので、再インストールの場合は手間がもっと少ないです。
僕の場合はどこが悪いのかわからないまま不安定な動作になっていたので、まっさらに戻してから即環境復旧という考えで移行に近い形をとりました。
"ずっと使っていると不安定になってくる"という様な噂は聞かないですが、急いでいる時に限って挙動がおかしい(気がします)FLASHを回復させるための最小バックアップ術でした。

hidaka

AIR:タスクトレイアイコンにメニューを設定する

2008/05/08

tagサンプルコード

以前にタスクトレイにアイコンを入れて常駐させる記事を書きましたが、
ここで右クリックメニューを追加してみます。

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になります。

続きを読む

Kawabata

pullDownBar

2008/05/07

tagAS2,サンプルコード

自分がflashを始めたころプルダウンメニューを制作しようとしてとても苦労しました。

また意外とネットに自分が欲しいサンプルが無かったりして大変だった記憶があります。

そこで今回はプルダウンバーを作ってみました。

※actionScript2.0

 

何かと1つのコンテンツを制作するときプルダウン機能を使用することが多いと思うので、サンプル程度に見てもらえればいいなと思います。(まだ自分もflash初めて浅いのでコーディングて突っ込みたくなると思いますがそこは大目に見てください 笑)

サンプルコード

hidaka

AIR:SQLiteのDBの読み書き

2008/05/02

tagSQLite,サンプルコード

前回はテキストファイルの読み書きをやったので、今回はDBを使ったデータ保存と
読み込みについてやります。サンプルは今回も自動保存メモ帳です。

続きを読む

doke

可変するテキストフィールドとフキダシのサンプル

2008/05/01

tagTextField,サンプルコード

たとえばツールチップみたいなフキダシをつくるときに、1行に収まる場合は文字に幅がフィットし、ある程度の文章量があったら幅固定で改行して流し込みたいことがあります。

バルーンサンプル

テキストフィールドの値の長さによって改行モードを切り替えるサンプルです。

続きを読む

Sato

アイテムを連番フレームに配置する

2008/04/29

tagJSFL,フレーム

ムービークリップの中にを状況に応じて変更する場合、 キーフレームごとに切り分けておいて、 状況に応じてムービークリップの表示フレームを切り替えていくと思います。

imageByFrame.png

こんな感じにしといて、gotoAndStop(hoge)みたいな感じ。

上は8枚の画像を8フレームにわけたものですが、これが100枚とかになって、いちいち1フレームずつずらして・・・ってだるいことこのうえないですね。

そこで現在選択中レイヤーを下から1フレームずつずらしていってくれるJSFLを作成してみました。

想定した作業の流れはこちら。

imageByFrame1.png

1.振り分けたい画像群をまとめて読み込みます。

imageByFrame2.png

2.レイヤーに配分(Cmd+Shift+D)を使って読み込んだ画像をそれぞれのレイヤーに配分します。

imageByFrame4.png

3.振り分けられたレイヤーを選択して

4.今回作成したコマンドを実行(ちなみに私はCmd+Alt+Zにわりあててます)

imageByFrame3.png

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);
}

例えが画像なのでイメージシーケンスを使えばいいじゃんて思っちゃいましたが、 今回のは画像だけに限らないので結構使えるのではないでしょうか・・・。

Murai

前から欲しかった拡張パネルをSWFで作ってみる

2008/04/28

tagJSFL,mxp

ちょっと大き目のキャンペーンサイトをオーサリングするたびに思っていたんですが、
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の組み合わせでなんとかなりそうですが、汚染しちゃうのが厄介。

いい方法を絶賛模索中。引き続きがんばります。

hidaka

AIR:テキストファイルの読み書きとtaskPad

2008/04/28

tagFile,サンプルコード

AIRではローカルPC上のファイルを読み書きができるので、簡単なデータの保存などに便利です。

続きを読む

kijima

swfファイルからflaファイルに変換・抽出できるデコンパイラを試してみた。

2008/04/25

tagデコンパイラ

Flashを扱っていると、swfファイルからActionScriptやflaファイルを抽出できる、「デコンパイラ」の存在を知ると思います。

デコンパイラとは、コンパイルされたswfファイルをflaファイルに変換したり、swfファイル内に含まれる素材を抽出することが出来るツールのことで、大事なflaファイルを紛失してしまったときの蘇生手段として活躍します。

ですが実際にはその使われ方よりも、参考にしたいFlashの中身はどうなっているのかを純粋に解析したいときに良く使われているんじゃないでしょうか。

今回は自分が使ったことのあるデコンパイラを二つご紹介します。

続きを読む

hidaka

演出の基本ロジックサンプルその2

2008/04/24

tagAS3,サンプルコード

その~と名前付けておいて2回目忘れていました。
今回は球面上の移動サンプルです。かなり昔のソースをAS3に移植しました。

うろうろするものが作りたかったんですが、XY平面で普通にやっちゃうと直線的だしなんか
奥行きも欲しいよね、ということでZ軸をもたせて球面上を動き回るものにしました。

サンプル1
サンプル2(ボール増やしたもの)

続きを読む

hidaka

AIR:タスクトレイ常駐させたい

2008/04/24

tagサンプルコード

常駐系のメモパッドを作ろうとしてたらタスクトレイにアイコン出す方法は
すぐに見つかったんですがタスクバーから消す方法がFLEXでのサンプルしか
見当たらなかったので、いろいろやってみました。
今回はwindowsのみターゲットです。

続きを読む

hidaka

AIR:flvプレーヤーを作ってみました

2008/04/21

tagflv,サンプルコード

正式版が出たAIRですがいざ作ろうとしたらbeta1,2,3の頃のそのまま使えない
サンプルが入り混じっていて今使えるコードが判りにくいのでサンプル作って
みました。AIR正式版で動作します。
FLVファイルをdrag&dropで再生するFLVプレーヤーです。

続きを読む

doke

FlashDevelopのコード補完機能

2008/04/17

tagFlashDevelop

FlashDevelop3 beta6が大変便利なので便利なところを自分なりにまとめてみました。

第一弾は下記です。(他にもあるので続くと思います)

続きを読む

hidaka

DisplacementMapFilterを整理する 3

2008/04/14

tagDisplacementMapFilter,サンプルコー