Flash, AcrionScript, Design… and more掲題の通り、「1234567」→「1,234,567」のように数字にカンマ(コンマ)をつけるのは、よく出くわしそうな処理の一つですが、先日とある案件で初めてその機会に出くわし、ググってみたものの「C」とか「PHP」とか「Perl」でのスクリプトがほとんどだったので、ActionScript版を載せてみます。やや力技。
Flash, AcrionScript, Design… and more最新のライブラリとかではなくて、超基本的な話なのですが、会社のFlashチーム内で「時計や日付を4桁の文字列、例えば1月1日を0101、10月1日を1001にしなきゃならないときってよくあるけど、みんなどうやってる?」みたいな話になったところ、同僚らは「if文で10未満のときに、最初に『0』をつけて・・・」と教科書どおりの回答。僕がやってた方法にえらく関心してくれたので、書いておきます。 原理的には、 1)月を100倍したものと、日を足す。 2)さらにそれに10000を足す。 3)10101(1月1日)~11231(12月31日)という感じで、5桁の数字になるので文字列化して、2文字目から5文字目までを抜く。 という感じです。asで書くと
AS3のメモリリークに関しては、数々のFlasherさんのブログで語られていますが、共通して「不要になったオブジェクトをnullするだけじゃなくて、そのオブジェクトの全てのイベントをremoveEventListenerしてね」ということが書かれていると思います。 僕もそこらへんを気をつけて、AS3でコーディングしていたりするのですが、たいてい、 不要になる = 表示リストから消すとき(removeChildするとき) というのがほとんどなので、不要になるオブジェクトのクラスにREMOVED_FROM_STAGEのハンドラをつけて、その中で全てのイベントをremoveEventListenerしています。もちろんこの「Event.REMOVED_FROM_STAGEのハンドラ」自身もその中でremoveEventListenerしてます。 以下サンプルです。 PLAIN TEXT Ac
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く