as3

メタボールにチャンレジしてみたよ(2)

前回に引き続き、メタボールを使った表現にチャレンジしてみました。今回は、壁面で反射するパーティクルをメタボールでレンダリングしてみました。多少見栄えを良くするためにBlurFilterとGlowFilterをかけています。ソースコードはこちらから。

メタボールにチャレンジしてみたよ

Tweenerを使って動きを作っていくとシャキーンという感じの動きを簡単に作れるのですが、 慣れてくると少し有機的な動きを取り入れてみたいという衝動に駆られます。ということで、今回は「メタボール」に挑戦してみました。メタボールって言葉自体はあまり…

BitmapDataを使ったモザイクエフェクト

最近仕事で忙殺されていて、趣味のプログラムを全然書いてなかったので久しぶりに書いてみました。作ってみたのは、スライドショーに使えそうなモザイクエフェクトです。モザイクは、画像の拡大縮小によって実現しています。まず、画像を縮小コピーします。…

AdvancedDataGridのヘッダに表示される縦線を消す方法

AdvancedDataGridのデフォルト設定だと、ヘッダがイケテなくて困った人は多いと思います。とくに、並び替え機能が不要なときにsorter領域の縦線が消したくなった人は多いと思います。普通に考えると、sortableColumnsというプロパティをfalseに設定する、も…

AIRでパスワードを保存する時はEncryptedLocalStoreを使うべき

WebサービスにアクセスするAIRアプリを作成していると、ユーザーの利便性を考慮してWebサービスのユーザー名とパスワードを保存しておきたいと思う時があります。 そうした時のために、AIRにはEncryptedLocalStoreクラスが用意されています。このクラスはOS…

プロパティへのアクセス速度の比較

id:nishiohirokazuさんの少し前のエントリー「PointとArrayで速度比較」の、 ActionScriptの配列はC的な配列じゃないからかも。逆にクラスのメンバ変数はすでに配列として確保されていそう。xとかも整数にマップされてそう。 という推測が正しいのかを調べて…

BitmapDataを使ったParticle Systemの実装

前からずっと気になっていたParticle Systemの実装方式について調べました。調査を進めてみると、SpriteをわずBitmapDataを使って描画をするという選択肢もあるということが分かり新鮮でした。 ということで、今回はBitmapDataを使ったParticleSystemの実装…

ベジェ曲線を使ったアニメーション(リプレイ機能付き)

突然ですが3次ベジェ曲線だと制御点が4つもあるので、スクリプトで制御する際にコードから描画イメージが沸きづらくないですか? グラフィックソフトで普段からベジェ曲線に慣れている人であればそうでも無いのかもしれないですが。。。というわけで制御に…

GCWatcher:GCの起動とオブジェクトの回収状況を監視するための方法

GCを強制的に起動する方法について追記しました(4/8) fladdictさんのAS3でガベージコレクションを見張る画期的方法メモにて、 弱参照のDictionaryのオブジェクトキーを利用して、対象のオブジェクトがガベッジコレクションされたかどうかを見張ることがで…

FlickrViewer:as3flickrlibを使ってFlickrから画像を読み込む方法

Flickrを検索して表示するViewerを作ってみました。画像の取得には、Adobe Labsで作成されたas3flickrlibというライブラリを使っています。このライブラリは、サンプルコードも付属しておらずあまり解説している記事もみかけないので試しに使ってみました。…

AS3で遅延評価を実装してみました

最近読んでいるSICPの理解度を確かめるために、AS3で遅延評価を実装してみました。遅延評価を理解する前に、AS3の関数呼び出しが値呼び出しであることを理解しておく必要があります。値呼び出しというのは、例えば、 function square(x) { return x * x; } f…

DisplacementMapFilterを使って波紋を表現する

DisplacementMapFilterを使って波紋を表現する 今回も前回に引き続きDisplacementMapFilterを使ったエフェクトに挑戦してみました。今回は、Macのウィジェットを追加した時のエフェクトみたいな波紋を作ってみたいと思います。少し分かりづらいのですが、上…

TextFieldの行間をマイナスに設定した場合の注意

TextFieldの行間は、TextFormatオブジェクトのleadingプロパティで指定出来ます。フォントサイズを大きくした場合、文章の見栄えを整えるために行間をマイナスに指定することがたまにあります(フォントサイズを大きくすると境界枠とグリフの間の余白が目立…

DisplacementMapFilterの動作を理解する

DisplacementMapFilterの動作は理解しづらいので、パラメーターとエフェクトの関連を確認するためのツールを作ってみました。 DisplacementMapFilterとは何か? DisplacementMapFilter クラスは、指定された BitmapData オブジェクト (置き換えマップイメー…

BitmapData.perlinNoise()のサンプル

BitmapDataクラスのperlinNoise()メソッドの実行結果を確認するためのFlashを作成してみました。perlinNoise()メソッドは、ランダムな雲模様や縞模様を作成する際に使います。通常は、DisplacementMapFilterと組み合わせるなどして利用し、単体で利用するこ…

Flash CS3で_parentプロパティが使えなくなったことに今頃気づいた・・・

Flash CS3でFlash8のように、_parentで親ムービークリップを参照し制御しようと試みたが、_parentはparentに名前が変更されていた。このparentプロパティは、正確にはflash.display.DisplayObjectクラスのプロパティで、flash.display.DisplayObjectContaine…

システムのウィンドウ枠がないアプリを作る方法

アプリケーション記述ファイルのsystemChromeをnoneに設定し、transparentをtrueにすればよい。 記述例は以下の通り。 Test Test app! Sample app copyright information Main Window Test.swf true none true 800 600 しかし、システムのウィンドウ枠がない…

AS3のXML名前空間で嵌まる

ActionScrip2.0以降ではXMLをリテラル型として扱えるので、DOMの操作がそれなりに簡単に記述できる。 var myXML:XML = hoge fugo fuga fugofugo ;trace(myXML.book[0].title); // hoge trace(myXML.book.(@id==2).author); //fugofugo これを踏まえて、RSSフ…