Archives for posts tagged ‘actionscript3’

【フォトモザイクFlash】復活しました。

先週サイトリニューアルが済んでブログを更新したところ、やけに前回のフォトモザイクへのアクセスがあったので
「これはイカン!」
と思って、アップロード型のフォトモザイクも復活させました。
フォトモザイクFlash
ちょっとばかし、以前と仕様を変えましたのでそれについてエントリー。
 

サイトリニューアルしました!&フォトモザイク

先々週くらいから続けて早2週間。。。やっとできました!
EGO
今回はフォトモザイクのリニューアル+サイトリニューアルということでガツガツ作りました!
最後の最後でものすごく躓きましたが・・・。
 
ってことで、やったことのまとめやらなんやらを書きます。
 

続々・フォトモザイク

先週末から久しぶりにガッツリとフォトモザイクの作業ができました。
んで、ほぼ完成したのでちょいといろいろとメモっぽいもの。
 

dispatchEventでちょっとハマった。

最近はひたすらにFlash三昧です。
とにかく早いうちにサイトのリニューアルをしたいと思いフォトモザイクの改修作業をやっていました。
で、今回は今までやってみたかったけどよく意味がわかってなかったdispatchEventを使って陥ったエラーについてです。
 

続・フォトモザイク

最近めっきり勉強はiPhoneアプリばっかりやってます。
んで、まあまた書籍を探しにいってたんですが探しているとこんな本が・・・
 

外部XML読み込みでの改行の罠

さあ、今日は書きますよー!!
出来たてホヤホヤの記事です(笑
 
外部XMLを使ったコンテンツのお仕事を受けてまして、次のような注文が。
「任意の場所で改行がしたい」
 
あー、ですよね。作りましょ。
 

Flashの軽量化

作業しやすいからとスペックのいいPCを使うとよくあるFlashの再生パフォーマンスの問題。
 
依頼を受けて仕事で作ってるとよくありますね、コレ。
まあ、標準的なPCが一台あれば解決することなんですが意外となかったりするんですよね^^;
そんなこんなで今回依頼を受けてた仕事でも発生しました。。。
 
んで、まあ作業してたんですが今回のものは透過PNGが多すぎるwww
しかも場面によっては全部が透過PNGで埋め尽くされ、画像枚数が20枚ちかくあるシーンがあったり・・・。
 
・・・うーん。。。
 
ムリwwww
 
っとまあ、そんなことを言ってられるわけもなくパス数を削ったりビットマップ画像の品質を劣化させたりしました。

忘れそうなのでメモ AS3(removeChild/parent/rotation)

しばらくぶりに更新です。
忙しさにかまけてネタをまとめてなかったり、ネタがみつからなかったり・・・。
ってことで、今回は最近した仕事の中で見つけた「よくある事」+αをメモです。
AS3にてremoveChildするときによく忘れてるのが、イベントの削除。
これやっとかないとエラー出まくりですよね。。。
 
そりゃそうだ。。。
 
消す予定の奴にイベント実行しろって言ったらなんのこっちゃってことですね。
結構忘れてしまう。まだまだだなあ・・・。
 
それと、一つ上の階層のターゲット指定法。
これはかなり使うので結構覚えたんですが、一応メモ。

var parentObject:Object=Object(parent);

ちなみに、Object(parent)の中のparentを.parentとかで増やすと更に上にって感じで指定できます。
単純でよかった^^
 
あとは、これは知らなかったけど意外と使うかもしれないもの。
 
MCを回転させるときには大抵rotationを使うわけですが、
でっかいMCをゆーっくり回転させたい時とかにrotationで小数点を含む回転速度を与えると
どういうわけか、コマ落ちしたような状態になりました。
桁落ちを疑ったりしてイロイロやってみるものの、全然ダメ。。。
途方にくれてGoogle先生に質問しまくってみるが、これといった返答はなし。
 
「おかしーなー。やってるサイトあるぞ?」
 
と思いつつさらに掘り込んで実験を重ねた結果、判明しました。
 
Matrixのrotateを使うと可能!
 
これでいくとラジアンで計算になるせいかもしれないですが、極小の回転速度が与えられるのです!
知らなかった―…けどよかったー!
ぶっちゃけこれ出来なかったらクライアントになんていいわけしようと悩んでました・・・。
だけどこれで無事ミッション完遂!いやーよかった^^
 
 
え?rotationの謎が解けてない?それは言わないお約束・・・。
※なんか情報がわかったら載せる予定です。。。

最近買った本

今回は最近買った本をエントリー。

Flash3Dコンテンツ制作のためのPapervision3D入門 (XK BOOKS for developers)
posted with amazlet at 10.01.28

池田 泰延
エクスナレッジ
売り上げランキング: 16279
Amazon.co.jp で詳細を見る

 
 
Papervision3D入門はずっとやりたかったものなので買ってみました。
・・・が、全然進みません。やっぱ3D難しい!
 

詳解 ActionScript 3.0アニメーション ―衝突判定・AI・3DからピクセルシェーダまでFlash上級テクニック
posted with amazlet at 10.01.28

Keith Peters
オライリージャパン
売り上げランキング: 2346
Amazon.co.jp で詳細を見る

 
 
 
 
こっちはいろんなFlasherが「神の書」として扱っていたので即購入!
この1つ前のやつもこの前読み終わったし、頑張るかな~。
正直、3Dよりこっちの方が楽しい。

event.currentTarget

 
最近仕事に追われてめっきりネタを考えてませんでした。。。
今日は少し余裕ができてネタもできたので久々に書きます。
今回はマウスのクリックの動作について
たとえば画面内に同じサイズのMCをグリッド上に9つ並べたとします。
そしてそれとは別にもう一つ枠型のMCを用意します。
やりたいことは単純で敷きつめられたMCのどれかをクリックしたら、枠型のMC(以後frame_mc)を移動させるというものです。

で、9つのMCは1つのMCでフレームに9種類並べて(9フレーム)配置する時にフレームを飛ばしてランダムに並べてるとします。←分かりづらい?
そうした時に単純に並べている画像に対してそれぞれaddEventListenerでCLICKイベントをつけます。

for(var i:uint=0; i<nums; i++){
    mc_ary[i].addEventListener(MouseEvent.CLICK,onChange);
}

function onChange(event:MouseEvent):void{
    frame_mc.x=event.target.x;
    frame_mc.y=event.target.y;
}

こうしてframe_mcをそれぞれの場所に移動させるものをonChange関数に書いたのですがさっぱりうまくいきませんでした・・・。
どううまくいかないかというと、xもyも0に行くのです。
しばらく「あーでもない、こーでもない」とやっていて、見つけたのが
「event.currentTarget」
こいつ。
まあ、見た目からして一つ上のターゲットってことでしょうけど、こんなものがあったとはつゆ知らず。
ためしてみたらバッチリ!
どうやら、内包されている場合は中のオブジェクトに対してtargetが働いているみたいです。なので、すべて(0,0)に向かっていったみたいです。
MCを内包してクリックイベントを取る場合はみなさん気をつけましょう・・・って俺だけかもしれない。。。
一応、以下が正しい表記です。

for(var i:uint=0; i<nums; i++){
    mc_ary[i].addEventListener(MouseEvent.CLICK,onChange);
}

function onChange(event:MouseEvent):void{
    frame_mc.x=event.currentTarget.x;
    frame_mc.y=event.currentTarget.y;
}

Get Adobe Flash playerPlugin by wpburn.com wordpress themes

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