Archives for the Month of 12月, 2009

MovieClipの複製

続いてはMovieClipの複製です。
AS3になってこれが無くなったのは知ってたけど、実際その場面に直面するとやっかいですね。
自分がやろうとしてたのは
 
「複数の画像を読み込んでおいて、プロパティを持たせて使いまわす」
 
ってことをやろうとしてたんですけど、これが画像の枚数が不特定多数なのもので1つ1つをクラス化できないわけです。
っていうか知らないんです。そんな方法。
とりあえず、CSVのリストがあってそれを読み込んで、配列にそれぞれぶっ込んでおくまではいったんですけど何回も使いたいわけですよ。
んで、結局考えたのは「Bitmapの複製」。
こっちの方が早いかなーと。んで、いろいろ調べてたらこちらのサイト
 
Flashの描画速度をBitmapDataクラスを使って上げる方法
 
を参考にさせてもらいました。drawよりもcopyPixelsの方が早いですと?!
けど、drawは拡大縮小・回転などが可能だけどcopyPixelsはそういったことはできない。
拡大縮小とかあとからすることなんで、全然OKです^^
これで簡単に解決しました!

配列型のカスタムクラス

「昨日の自分よりもレベルアップ」が今の自分の合言葉です。
…いや、「いつもこう考えとけよ!」とかは無しで^^;
とりあえず、最近AS3やってて覚えたことを書きまーす。
 
最近は、配列をいじることが多くて・・・っというかAS3使いだして配列を使いこなさないと頭の中で整理しきれない!って感じです。
んでまあ、そのために配列をシャッフルするやつとか複数ロードした外部画像を配列へ補完とかしてたんですけど、どうにも配列をカスタムクラスでつくるとちゃんと返ってこなかったんですよねー。
配列=new クラス名(配列)
とかで渡して返してほしいわけですよ。んで、配列[0]とかをみにいくと、「存在しません」っていっつも言われるわけですTT
ここでものすごーく詰まってて、だいぶサーフィンしました。
んで、まあ出た結論は
「クラスをDynamicに宣言する」
これでした。
正直、イマイチDynamicとかstaticとかを理解しきれてない部分もあってなんだかなーって感じですけど、とりあえず
「配列で戻したい時はDynamicで宣言する!」
これを呪文として覚えときます。属性の違いはまた後日勉強だなあ。

カスタムクラスやってみました。

どーも。
微妙にASに対する熱が冷めつつある僕です。
 
こんなこっちゃいかん!と思って、今回はカスタムクラスをやってみました。

AS3でRGB→HSV変換

最近はひたすらPhotoMosaicをカスタムしたり戻したりしてました。
おかげでいろいろまとめられなくて、全然ブログを更新できなかった・・・。
なんで、今日はちょっとここ最近で覚えたことを書きまーす!
んで、まあPhotoMosaicのギミックの一つ「指定範囲の色と似たような色の写真を探す」って部分でいろいろやってた流れで覚えたことを書きますね。
実際やってた時に、RGBで判別するとどうもうさんくさいかなーと思って色に関してのいろんな情報を集めてました。
すると、どうやらRGBよりHSVの方が人間の目で見る色空間?に近いって記事を見つけたのでさっそくやってみよー!
…とはりきってましたが、RGB→HSVなんてASを書いてる記事を見つけられずWikipediaでHSVの部分を見たら公式があったので自分で書きました。

function RGB2HSV(r:Number, g:Number, b:Number):Array {
var hsvAry:Array = new Array();
var H:Number;
var S:Number;
var V:Number;

var max:Number = Math.max(r, g, b);
var min:Number = Math.min(r, g, b);
V = max;
if (V == 0) {
H = 0;
S = 0;
} else {
S = (max – min) / max;
var Cr = (max – r) / (max – min);
var Cg = (max – g) / [...]

【フォトモザイクFlash】ひとまず完成。

フォトモザイクFlash
※現在停止中です。復旧次第また公開します。
がひとまずできましたー!
ちょいと時間がかかりましたが、なかなか面白いロジックができたので比較的満足です!
是非、試してみてください!!

やっと公開です。

今回はお仕事です。
ちょっと前から出来あがっていたのですが、公開OKのタイミングがつかめなくて保留してました。
が、そろそろよさそうなので公開します。

臼杵の料亭「山田屋」さんのホームページを制作させていただきました。今回はシンプルさと少しの高級感ってことで制作しました。
まあ、結構表現できたのではないかなと自分では思ってます^^
臼杵にお立ち寄りの際はぜひ「山田屋」に足をのばしてみてください。大分ならではのふぐ料理を食べられますよ。

近況報告

ここのところずっとフォトモザイクFlash三昧でした^^;
でも、先輩のフォローもあってやっと完成にこぎつけました!!
出来上がった瞬間はホントうれしかったー。先輩と2人で何年かぶりの”ハイタッチ”とかして大喜びしたしw
感動の共有ってすばらしいなあと思いました。
明日にでも、公開できるコンテンツとしてまとめる予定なので出来上がったらリンク作ります!
ソース公開はちょっと仕事との絡みがありそうなので控えさせてもらいます。ご了承ください。
ただ、要点に関しては公開しようかなと考え中です!(うまくまとめきるかな?)
あと嬉しいことに最近このブログのアクセスがすごく伸びてます!
こんなブログをわざわざ見に来ていただいてありがとうございますm(_ _)m←古っ!?
ただ、検索ワードが主に「バーベイタイム」なのでこれが非常に申し訳ないです。大した情報のせてないですし。ブログパーツはなぜかバグって現在表示してません。
と、長くなりましたが最近はこんな感じで頑張ってます!

getPixelについて

昨日のつづき。
とりあえず、課題の1つ「分割したエリアを1ピクセルに縮小し、色を取得」ってのを試してみました。
方法としては、
copyPixels関数をつかって指定エリアのみを複製。

1×1ピクセルの空のBitmapDataを生成

複製したBitmapDataをMatrixを使って1ピクセルになるように縮小。

縮小したBitmapDataを1×1ピクセルのBitmapにはめ込み

getPixelでカラー情報を取得
と、まあこんな流れをやっていたんですが、どうやってもうまくいかない時がありまして・・・。
で、妥協して切り出したエリアの(0,0)座標のカラーだけ抽出してやってみたら、
 
あれ?結構よくない?
て感じでうまくいくっぽいです。
ただ、あくまで細かくした時にそうであって、大きく分割した時にはうまくいかないだろーなーと。
ってことで、カラーの抽出方法が3つできました^^
1.演算式で抽出
2.1ピクセルに縮小して抽出
3.切り出した部分の(0,0)座標のカラーのみ抽出
で、この画像がその結果です。

やっぱり演算で平均をとると暗くなっちゃいますね。しきい値が必要じゃないか?というご指摘ももらいました。
んー、とりあえずASは面白いな~と感じた今日この頃。

画像のモザイク処理

今日はパーティクルをする予定だったんですが、予定を変更して画像のモザイク処理です。
ちょっとお仕事になりそうなお話があって、それの勉強&研究用に作ってみました。
今現在はまだちょっとサイズが限定されている部分があるのでプロトタイプということでこちら。
PixelMosaicPrototype
今回は使ったことない関数がでてきて苦戦しました。
getPixels関数
これ便利ですね。
この関数は引数にx座標、y座標、横幅、縦幅をあてることでデータを取得してくれます。
Rectangleとの合わせ技が便利ですね。データはforでまわして取得してます。
 
一応、頭で思い描いていたのは
 
指定サイズで画像を分割

分割したエリアの色の平均値を取得して配列に保存

ビットマップで配列からカラー情報を取得して再表示
こういう流れを考えていたんですけど、見事再現してくれました^^
ただ、問題点は現在の形が正方形であること。
それと平均値をとるときの演算がそのまま足し算・割り算なのでCPU負荷が大きい。
この2点をクリアしてはじめて完成にしようと思うので、公開はもうチョイ先です。
 
課題
・原寸の比率を維持した分割
・分割したエリアを1ピクセルに縮小し、色を取得
この2点をがんばってみます。完成したらソースも公開します。

円グラフのモーション

今回は、ちょっと仕事でやった時に何気につまづいてしまったのでメモ。
といっても、すごいショボイ部分でつまづいたんですが・・・。
どんなことかと言うと、円グラフの増加モーション。
最近ひたすらにASを書いていたのでモーションがさっぱりになってました^^;
マスクを使って増やすまではすぐ思いついたけど、どうやって?って感じだったのでネットサーフィンをしました。
んで、ヒント的な単語を見つけて一発解決!!
 
半円を作る
 
あー、そっか。半円の直線の中心に軸点を持ってきて回せばいいんだね。
ってか、こんなことも思いつかなかったのが非常に恥ずかしい・・・。
でも、恥ずかしいことこそ晒していって二度と同じ失敗をしないようにしなきゃ!
 
俺みたいにこんなこと調べる人なんているのか(汗)

Get Adobe Flash playerPlugin by wpburn.com wordpress themes

Bad Behavior has blocked 22 access attempts in the last 7 days.