今日は深夜残業になる直前まで残業してましたが、少しも辛くないです。
だってASいじり楽しいんだもん。

強いて言うなら寝不足が辛い。肩も凝るしさー

3月の新サービスリリースの為にみんなで頑張っていて、わたしはFlashで地図とかグラフを作っているのですが、今日は滞りなくグラフにアニメーションを付けられたので非常に満足気

フレームアニメーションで簡単にできることを頭をひねりながらASで書くのが非常に楽しいのです。変態ですか?

だがしかし、1点だけちょっと気に入らないところがあるので土日は対策を考えながら過ごすことにします。

中心点が左上にあるグラフィックオブジェクトを、中央を中心として回転させるには、やっぱりMatrixをマスターしなければなるまい。という話。

完全に自分メモなエントリでした。

周りの人は風邪だとか花粉症だとかで大変そうだけど、全然そんな予感がしない順加です。きっと母の手料理のおかげで健康!

寝不足だけどな。

§

さて、今日のつまづきポイントは、MCにROLL_OVERのイベントリスナーを登録して、ロールオーバー用カスタムマウスポインタを大人の事情でそのMC内にaddChildしたら、ROLL_OUTしなくなった。

のだけど、よく考えたら当たり前のことだった。

なぜなら、そのカスタムマウスポインタもROLL_OVERイベント登録したMCの一部であったからである。

MouseEnabled=falseとMouseChild=falseをやっとくの忘れてたでよ。

という自分メモ。

どこにイベントリスナーを登録するかとか、しっかり考えておかないとごっちゃごっちゃになるよね。という話。

3月初にリリース予定の新サービス制作がいよいよ大詰めなのでした。

Flashを使って円グラフを描く仕事をしていました。

まだよく調べてないけど、扇形を描くしくみが元々あったっぽいのだけど、円グラフの描画はfladdictさんのSketchbookとゆーライブラリを使いました。

んでマウスオーバーでデータの内容っぽいものを吹き出しで出す時に、吹き出しの位置をどうやって計算しよう、って小一時間悩んで、帰ってお風呂入ってたら円周上の座標を求めればいいんだっ、と閃いたのでそこから調べていったらMath関数にpolarとゆーのがあってコレを使えばオッケー的なことがわかったのでそのように実装しました。

まだまだ知らないことがいっぱいだけど、AS3やOOPにも慣れてきて、着実に力がついてきているのを実感しています。

Macでもマウスホイールのイベントが使えるようにできるSWFWheelを使ってみたのですが、Mac版Firefox(バージョンは2だった)で動作しなかったんですよねー。

FlashをHTMLに貼る為のライブラリであるところのswfobjectを使ったら大丈夫だった。ってかそもそもswfobjectって結構標準的にみんな使ってるモノなんですねーHTMLコーディング最近全然やらなかったから知らなかった。

というかコレ、バグ報告したほうがいいんだろうか?そもそもバグなのかどうか自信無いんですが。

ASの話題なら写真やイラストをアップしなくて済むので楽だなあと思っている順加です。代わりにソースコードでもアップしろって感じですけどこんばんは。

三月の頭に向けて新しいサービスをリリースするので、今追い込みをかけているところなのですが、いかんせん初めてやることばかり(そもそもAS3で作るのが初めてだった)なので、ちょっとした簡単そうなことでもつまづき転んでつまづき起き上がって作ってますよ。

んで今日の落とし穴は、ドラッグできるムービークリップが重なりあっていた時に、片方のイベントリスナーをstageに設定していたからもう片方がドラッグできなくなっちゃってたよ、というもの。

イベントリスナーをそれぞれドラッグするMCに変更してことなきを得た。

気づいてしまえばすごく簡単なことだったんだけど、解せないのは、イベントリスナーをstageに登録していなかった方のムービークリップを、別のムービークリップに入れ子にした途端にドラッグできなくなってしまったということ。それまではどちらもドラッグできたんですけど。

あれ、なんか変な説明?
まあいいか。

イベントリスナーの管理をしっかりやりたいです。

§

関係ないけどここで耳寄り情報!
AS3でduplicateMovieClipできちゃう? - _level0.KAYAC

タイトル通りですが、これまでduplicateMovieClipしたいことが何度かあったけど諦め(?)てきたのでかなり嬉しい情報。やった!

AS3にもだいぶ慣れてきました(って前にも言ったか)。

新しいことを覚える為にはまず、「習うより慣れろ」。当たり前のことだけど、いまこれを実感しています。

今制作中のFlash新規案件がいよいよ佳境。
最近そうめん(Thread)の使い方に慣れてきて楽しいです。

次は既存案件の引き継ぎがあって、これは人が書いたスクリプトに触れるので勉強になります。
かなり、複雑なんですけど。

AS3始めたばかりの頃、複数のクラス間で変数を共有したい時どうするんだ!って半日ぐらい考えて自分で導き出した答えが、今回引き継いだFlashでも使われていたので、ちょっと安心しました。

具体的には、全部のクラスをドキュメントクラスでnewする時に、ドキュメントクラス自身をオブジェクトとして渡すようにしておくという方法。これでドキュメントクラスの変数を共有できる。

最初はaddEventListenerとかわけわかんなかったけど、何十、何百と書いてたら嫌でも覚えるよね。

大重美幸さんのAS3本

賞金っつっても大した額じゃないんですが。尾崎賞でいただいた商品券を使って、AS3の本を買いました。

詳細!ActionScript 3.0入門ノート2

「…〜入門ノート」の続編で「2」となっています。前のも参考書としてかなり活用させていただいていたのだけど、かなり身に付いてきた感じなので「2」を買ってみました。

もっと勉強するぞ〜

レンジでお馴染みのAluさんがくだらない(と自ら書いてた)社内向けFlashを作っていたのですが、マウスホイールのイベントがFirefoxだと2倍になっちゃって困る(わたしはそんな現象あるなんて知らなかった)よ!ムキー!と言うので調べてみました。

IEとかチョロメとかは問題ないのですが、FirefoxだとMOUSE_WHEELイベントが2回ずつ発生するみたいです。それは困る。

超絶ググってたのですがなかなか情報見つからなくて、困った時のwithout日本語検索で見つけたのがここ

わたしは簡単な英語しかわかりませんが、ASで何が書いてあるのかはわかるので、ASも言語なんだなあって実感しますね!

んでそれを元にこんなコードを書いてみました。

stage.addEventListener(MouseEvent.MOUSE_WHEEL, wheelHandler);  
var lastTimeWheel:Number = 0;  
function wheelHandler(e:MouseEvent) {  
var now:Number = new Date().getTime();  
if (now-lastTimeWheel) {  
//ここに処理を入れればいいんだよ  
trace("delta: " + e.delta + "tmillis: " +(now-lastTimeWheel).toString());  
}  
lastTimeWheel = now ;  
}  

結果、上手くいったようです。わたしも勉強になりました。…φ(.. )

余談ですがそのFlash、落武者の作品ですか?の問いに対してソッコー否定されてました。落武者のサーバにアップされてましたけどね。

おはようございます。11時間ぐらい寝ました(´☆ω☆`)

さて3日間Flashっぽいイベントに出て得た感想は、「情報交換は楽しい」ってコトです。
いろいろな人がいろいろなスゴイものを作ってくれてるので、それを踏まえて自分が何を為すべきか、何を成せるのか、考える良い機会でした。
それを見つける為に、みんなが何をやってるのか知る必要があるんですねー。

わたしはまずは技術や知識を吸収しないとですけどねー。

あと、Adobe MAXやF-siteの中でもちょっと出てきた話ですけど、「Flash」って言われても、インターネットに馴染みが無い人にはわからないんですよね。おばあちゃんに仕事何やってるのと訊かれても答えられない的な。

なのでもっと一般人にもインターネットやFlashを身近に感じてもらえるような活動ができたらいいなあ、とか思うんですが。
その為には「人」に興味を持ってもらうのもアリかなと思ってブログでも顔を出すようになったのですけどね。んでもってスゴイものや楽しいものを作っていくんだぃ。

でも中村勇吾さんみたいな人でも一般の人には知名度低いと思うので、スゴイものを作るだけじゃ、駄目なんだろうなー。

今日はこれから予告しっぱなしで何もしてない順加の巣の改造(使いやすく)をします…。

keyboard_arrow_up