
にわとりver
ちょーひさしぶりの更新!
最近は_level0で興味の赴くままに時計を作り続けてる原です。
まー見ての通り、スクリーンセーバー的なフルFlashの時計ばかり作っているので、そのうちスクリーンセーバーも出していきたいつもり。
というわけで、今回はスクリーンセーバー化の第一歩として個人的お気に入りのこれをスクリーンセーバーにしてみたよ。
報告エントリばかりじゃアレなので、小ネタも投稿しておきます。
基本だけど知らなかったよシリーズ。
AS3で表示要素をremoveChildする時に、もうすでにremoveChildされてたりすると「DisplayObjectの子じゃないのはいけないと思います!」と怒られるのですが、これを回避するために
親DispayObject.contains(子DisplayObject)
で消えてるかどうか(正確には親要素の子要素に含まれているかどうか)確認してから消せます。
trueならChildで、falseだと無関係で、falseの時に同じ組み合わせでremoveChildすると怒られる。
設計が悪いのか? このようにして消えてるかどうか確認してから消したいケースがよくある・・
イベントなら
対象のオブジェクト.hasEventListener(イベントタイプ)
Tweenerなら
Tweener.isTweening(対象のオブジェクト)
で確認ですね。
便利!
以上、小ネタでしたー。
僕の連載は、前回の続きで「サウンドビジュアライザを作る」ですね。
今回はサウンドの扱いを中心に解説していて、SoundMixer.computeSpectrumとか出てきます。
サンプルDLのページ
買ってね〜
基本的な事なんだけど、いつも忘れるのでメモメモ
16進数→10進数にしたい時
var color = 0xffffff; var r = ( color & 0xff0000 ) >> 16; var g = ( color & 0xff00 ) >> 8; var b = ( color & 0xff );
10進数→16進数にしたい時
var r:uint = 255; var g:uint = 255; var b:uint = 255; var newColor:uint = r < < 16 | g << 8 | b; trace(newColor.toString(16));