2009 年 7 月 20 日
外部のxmlを読み込んでFlashに反映させたいという要望はよくあります。
僕はAS2のときには、XPath4AS2という高機能なXML解析ライブラリを使っていましたが、AS3になってからは標準のXMLクラスにそういった機能が付加されたのでそっちを使っています。
とはいうものの、XPath4AS2に慣れすぎてしまったせいか微妙な書式の違いにいつもとまどってしまいます。
なので、AS3でのxmlの基本的な解析方法について、trick7さんがまとめてくださった『xfactorstudioのXPath4AS2の使い方』という、僕も相当お世話になったエントリになぞらえて少しまとめておこうと思います。
Continue Reading »
Posted in DEVELOPMENT | No Comments »
2009 年 7 月 6 日

オブジェクトの平行移動と回転のサンプル
ボールをドラッグで投げると、ステージ端から端へとループ。
また、ステージクをクリックすればクリックした座標に対応した回転角度で赤いバーが回転。
QuickBox2Dの小ネタ。
運動の状態を保持したままオブジェクトを平行移動や回転させるには、
QuickObjectインスタンスのx、y、angleプロパティを変更すれば良いみたい。
あるオブジェクトのQuickObjectインスタンスはaddしたときに戻り値として受け取れる。
Box2DFlashAS3のSetXFormを使うよりも簡単で便利。
以下サンプルのソースコード(実行には別途Tweenerが必要です)
Continue Reading »
Posted in DEVELOPMENT | No Comments »
2009 年 7 月 5 日

衝突判定のサンプル
●と壁、●と●、●と▲、▲と壁、■と壁の組み合わせは衝突が起こり、●と■、▲と■、■と■は衝突しない。
なるほど。
categoryBitsとmaskBitsを両方指定しないといけなかったのか。
QuickBox2DやBox2DFlashAS3でのオブジェクト同士の衝突判定をコントロールする話。
そもそもBox2DFlashAS3には(多分Box2Dにも)2種類の衝突判定方法が用意されている。
(1) groupIndexを使う方法
(2) categoryBits、maskBitsの組み合わせを使う方法
Continue Reading »
Posted in DEVELOPMENT | No Comments »
2009 年 6 月 30 日
久しぶりにWP-Al-SWFObjectをアップデートしました。
v2.0からv2.1へのマイナーアップデートになります。
最新版のダウンロードはこちらです。
変更点は以下の通りです。
- wp_al_swfobject_echo関数により、エントリー以外でもswfを貼り付けられるようになりました。詳しくはこちら。
- 最新版のSWFObject2.2に入れ替えました。
エントリー以外へのswf貼り付けについて、以前Yahoo!知恵袋で間違った回答をしてしまいましたので、訂正してお詫びします。
エントリー以外への貼り付けはWP-Al-SWFObjectが今まで対応していなかっただけで、WP-SWFObjectは対応しています(wp_swfobject_echo関数)。僕が知らなかっただけでした。。。
質問者のarupa2008さん、WP-SWFObjectの中の人であるJim Penaloza Calixtoさん、知恵袋を見てくださった方、誤解を与えてしまってごめんなさいごめんなさい;;
今後はこのようなことが無いよう気をつけます OTL…
Posted in DEVELOPMENT | No Comments »
2009 年 6 月 28 日
Posted in DEVELOPMENT | No Comments »
2009 年 6 月 25 日

Full Adder
Flashで物理演算をしたくても計算が難しいし、Box2DAS3を使うにしても手順が多くてややこしい。そんな人はこれ使うといいかも。
QuickBox2D
Box2DAS3を簡単に使えるようにしてくれるライブラリです。まだ対応していないオブジェクトもあるみたいだけど、とりあえず動くものなら簡単に作れるらしい。
さっそく物理演算のおもちゃを作ってみたのがサムネイルのアレ。
これは全加算器といって、2進数の足し算をしてくれるおもちゃ。
ちょっと遊び方を説明。
- 玉を上に書いてある数字(+1,+2,+4,+8,+16,+32)のとこに乗せる(同じ数字のとこに同時に2つ乗せちゃだめ)
- 上のpullを右へひっぱると玉がころころ転がってが2進数の足し算をする
- ひっぱった後にシーソーに引っかかってる玉の横に書いてある数字(1,2,4,8,16,32)の合計が答え
- 続けて上にまた玉を乗せてどんどん足し算できる
- 一番左から玉がこぼれたらオーバーフロー、計算機の限界を超えました(笑)
- 下のpullをひっぱると強制リセット
詳しくはこことかここを見るといいです。
次回からQuickBox2Dの使い方を解説していくよ。
他のQuickBox2Dネタ一覧もどうぞ » tag : QuickBox2D
Posted in DEVELOPMENT | No Comments »
2009 年 6 月 6 日
先月の大阪てら子でSaqooshaさんがつくってたのが素敵だったので、見よう見まねでやってみました。ただやるだけだとつまんないので、RGBのカラーバージョンでアンサンブルしてみました(音の動的生成を使っているのでFlashPlayer10以上じゃないと動きません)。
webカメラ(カメラがない人はサンプルの静止画像)からリアルタイムで読み込んだ画像をRGB分解します。分解されたRGB画像をもとに音を鳴らすおもちゃです。RGBの順にオクターブ単位で音域が低くなっているので、頑張れば3パートでハモれるかも知れません。
いい感じの音を鳴らすために
あの楽器っぽいスクリプト Ver1.2(メニューをつけてみた)
の波形生成アルゴリズムを使わせてもらってます。ありがとうございます。
また、単純にBitmapData.copyChannelやColorMatrixFilterなどでRGB分解すると、例えば白い部分などは全チャネルで反応してしまいます。そこで、人の目が見て赤緑青な部分を直感的にRGB成分として取り出せるように、RGBExtractorというクラスを作りました。
このクラスは入力画像の全ピクセルに以下の処理をおこなうことでRGB各成分を抽出します。ここで、R,G,Bはある座標における入力画像の色、R’,G’,B’は分解後のその座標の色となります(計算上マイナスになった場合は0とします)。
scaleは0以上の任意の実数です。写真などの自然画像にはRGBの純色はまず出てこないので、scaleがある程度高くないとハッキリと検出できませんでした。
R' = scale * ( R - max(G, B) )
G' = scale * ( G - max(B, R) )
B' = scale * ( B - max(R, G) )
この処理は、実際にはフィルタで全ピクセルをバッチ処理しています。RGBExtractorクラスはまだ詰めが甘いので、もう少し精度を上げられるように頑張ってSpark Projectにコミットしておきます。
今回初めてFlashPlayer10の動的音生成を使ってみたのですが、鳴らすだけなら思ってたより簡単でした。それ以上に、音の鳴るものは作っててやっぱり面白くて、音楽ってすごいなあって改めて感じました。幸いにもSpark Projectには音関係の素晴らしいライブラリがたくさんあるので、もっと使わせていただこうと思います。そんな感じです。
Posted in DEVELOPMENT | No Comments »
2009 年 5 月 31 日
題 『漢の背中@渋谷マルイシティ』
niumさん、さくーしゃさん、bao_baoさん、kikidogさん、mutastさん、ahchangさん、チン★カスさん、與座さん、ko_zouさん、launchの中川さん田路さん佐竹さん森崎さん、stoopaの池田さん野原さん、あとうちの彼女、というそうそうたるメンツで飲みに行ってきました。超楽しかったよー。あいかわらずさくーしゃさんに殴られたよー><(笑)
半分くらい初対面の方々だったのですが、気さくな方ばかりで、みなさんと熱い話ができて本当に良かった。みんなトップランカー、すっごい人達ばかりで、もうパワーあるある。酒も入って俺も熱かったので、もしかしたら失礼なこと言ってたかも、ごめんなさいごめんなさい。
でも、おかげさまでもの凄いモチベーションを得た。みんなの名言の中でもマイベストセンテンスはko_zouさんの「いつも本気で☆」。もし面白くない仕事だと思ったら、何とかして面白くもっていくのがうちらの仕事なんよね。うんうん。
というわけで、飲み会の前のF-siteセミナーと合わせて、とても有意義な一日だったと思うよ。(F-siteではじゃんけん大会でまさかの2連勝しました。Flash本2冊ゲット!)
あと俺はイベントクラッシャーとかじゃないです、安全なアルミカンですから。これからもよろしく御願い致します。
とりとめのない日記でごめんよ><
あとで見返したときに再燃できるように気持ちをメモるって難しいね。
Posted in LIFE | 1 Comment »
2009 年 5 月 28 日
簡単に使えるActionScript3.0製のスクロールバー「JPPScrollbar」をSpark Projectでリリースしました。はい、名前はエアロスミスのJust Push Playにあやかっています、すいません。以下説明。
JPPScrollbar
Just(ただ) Put(置けば) Play(動く) Scrollbar(スクロールバー)
サンプルファイルのライブラリからステージに置けば動いてくれるActionScript3.0製のスクロールバーです。個人的に作っていましたが、割と高機能になったので公開します。
主な機能
- 任意のSpriteやMovieClipをスクロールバーのパーツとしてバインド可能です
- 滑らかな減速スクロールを使用可能です
- コンテンツ量に合わせて縮むスクロールバーを使用可能です
- スライダーの高さを0ピクセルとして扱うことが可能です
- iPhoneのような、スクロールが行き過ぎて戻る演出が使用可能です
- エンドロールのような自動スクロールを実行可能です
- 外部からメソッド呼び出しでスクロールさせることが可能です
- スクロール量など、こと細かく決められます
- スライダーやスクロール対象コンテンツを整数値に吸着できます
- y座標でなくても、任意のプロパティをスクロール可能です
- ライブラリからコピペしなくてもnewして使えます
- SWFWheelを使用しているので大抵の環境でマウスホイールを使えます
などなど色々ありますが、とりあえず目的にかなったサンプルのフォルダからごそっとコピペすれば動くようになっています。もう少し詳しい使い方はSpark Projectのほうに書いてあります。
サンプル
つーわけでこのJPPScrollbar、ガンガン使ってもらえると嬉しいです。
めんどくさい部分はちゃちゃっと済ませちゃいましょー。
追記 10.05.12 バージョン1.03への移行について
バージョン1.03へのアップデートに伴い、これまでの使い方ではエラーが出るようになりました。詳しくはSparkProjectに追記していますのでそちらをご覧ください。バージョン1.02もダウンロード可能です。
追記 10.07.04 バージョン1.04をリリースしました
MagicMouse使用時の不具合に対処しました。詳しくはSparkProjectに追記しています。
Posted in DEVELOPMENT | 55 Comments »