ASOK?
ActionScriptでFlashつくるよ
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
page top

asynchronous jpeg encodingのパラメータ、qualityとtuningをテストしたメモ。

quality:int

quality サイズ
60 18655
70 22375
80 28657
85 34047
90 43792
100 136355

tuning:int

tuning 処理時間
1 665msec
10 695msec
20 384msec
40 283msec
99 215msec
つづきを表示
スポンサーサイト
page top

無駄な遠回りをした話。たぶん誰の役にも立たない情報。

通常コマンドリストの中断、再開には、Func.listen()を使います。
先日asynchronous jpeg encodingを使う機会がありました。非同期のjpegエンコーダです。
これがEventDispatcherではなくて、コールバックFunctionを引数に渡してコールする形。
Func.listen()が使えないぞと。どうしたものか。とりあえずリファレンスから使えそうなものを探す。

Func.unlisten()は?

Func.unlisten()はイベント待ちを解除するだけで、再開はしてくれない。

SerialList.positionは?

SerialList.positionは読み取り専用。

SerialList.nextCommand()は?

SerialList.nextCommand()も外部からはアクセスできない。

SerialList.interrupt()で中断、execute()で再開できないか?

ダメでした。execute()すると最初から実行してしまう。 interruptTypeを変更しても変化なし。

LoopList.stop()を使う?!

Progression4 LoopListを試してみた | 2BLOG

検索してて上記エントリを発見。LoopList.stop()が使えそうだ。試してみるとstop()で中断、execute()で再開できる。
がっ!単独で使う分には問題ないが、CommanList内で使う場合、stop()でLoopList自体は中断するものの、親のCommandListは進行してしまう!
というわけで、これもダメ…。

結局Func.listen()

よくよく考えてみると、Func.listen()使って、コールバックで適当なEventDispatcherからイベント発行すればいいじゃん。
というわけで、SerialList自体のカスタムイベントを使うことで解決した。

オレあほだ…

page top

基本的にはBitmapDataをして、エンコード(jpegなど)したByteArrayに変換してから送る。

BitmapData→ByteArray

Flex3の場合

BitmapDataから直接ByteArrayにしてくれる。かんたん。

jpeg

png

as3corelibの場合

BitmapDataから直接ByteArrayにしてくれる。PNGEncoderがstaticなのでインスタンス作らなくていい。

jpeg

png

Alchemy - asynchronous jpeg encodingの場合

BitmapDataをいったんByteArrayにしてからエンコード。エンコードが非同期なのが魅力。

画像エンコーダ

その他のエンコーダとして、jpegならFaster JPEG Encoding - ByteArray.orgとかあります。めんどくさいので割愛。

ByteArrayをサーバに送る

ByteArrayのまま送る

"application/octet-stream"なら、ByteArrayをそのまま送ればいいみたい。でも引数が指定できないぽい。

flash側

php側

Base64エンコードしてから送る

Base64エンコードすれば引数も指定できる。もしかしたらエンコード後、改行削除の必要があるかも…

flash側

php側

base64エンコーダ

as3のBase64エンコーダとしては、

とかある。

page top

何度みても忘れるので。メモ。

OpenLaszloでmixiアプリの開発(1/4):CodeZine

page top
TortoiseSVNを1.6にしたら、思わぬところが違っててびっくり。

レポジトリを作成
コンテキストメニューから作成したら、エラー「フォルダが空か書込み禁止でないかを確認してください。」
⇒ファイルリストペインの右クリックだと発生。ディレクトリツリーの右クリックから作ればOK!
第3章 リポジトリ

インポート
右クリックからインポートしたら、急に関係ないフォルダをスキャンしはじめた!
⇒ファイルリストペインの右クリックだと発生。ディレクトリツリーの右クリックから作ればOK!
リポジトリへのデータインポート

どうも全般的に右ペイン(ファイルリスト)でのコンテキストメニューはダメみたい。
page top
使用したVideoPlayerを、全部FLVPlayback.closeVideoPlayer(index)で閉じる。
System.gc()でメモリ開放。

ただ使用したVideoPlayerは、FLVPlayback側では管理してくれないので、自前で管理する必要がある。必ず小さい方から使うとか。
あとサウンドチャンネルは32しかないので、VideoPlayerを同時に32個以上使うと、一部のVideoPlayerは音が出ない。最近使ったほうが優先になるみたい。

[as3] flvPlayBack(コンポーネント) 削除 | WEB-WORKMAN
page top

設定まとめ for 3.3.2。

環境設定

ユーザー名

メニュー:[Tools]-[Custom Arguments...(カスタムアーギュメントの編集)]
ダイアログ左側の「Arguments」欄で「Argument: $(DefaultUser)」が選択された状態になっている。右側の「Value」欄をニックネーム等に書き換える。

フォント

メニュー:[Tools]-[Syntax Coloring...(シンタックスカラーリングの編集)]
行間はどこ?

コードフォーマット

環境設定ダイアログ(メニュー:[Tool]-[Program Setting]):
左リスト[FlashDevelop] - 右リスト[Indenting] - [Coding Style Type]を「BracesOnLine」に変更。

タブ切り替え順

環境設定ダイアログ:右リスト[Features] - [Use Seauential Tabbing]

Subversionを使う

環境設定ダイアログ:左リスト[SourceControl] - 右リスト[SVN] - [Enable SVN]

自動的に閉じ括弧を追加機能

環境設定ダイアログ: [ASCompletion] - [Code Generation | コード生成] の [Add Closeing Braces]

パラメーターからフィールドを生成機能のプレフィックス

環境設定ダイアログ: -> [ASCompletion] -> [Code Generation | コード生成] の [Prefix fields when generationg from parameters]

コンパイルに使うFlashIDEの指定

環境設定ダイアログ:左リスト[ASCompletion] - 右リスト[Flash IDE] - [Path To Flash IDE]

あれ?タブが復元されない…

page top

as2では"#include"だったけど、as3では"include"。
くだらんバグと仕様もなくなってるようだ。

参考:

F-site | #includeが正しく動作しない

page top
偶然バックログという、プロジェクト管理サービスを発見。

Backlogの特長|ツアー|どこでもプロジェクト管理バックログ

どうもTracと同じ感じみたい。無料プランがあるので、とりあえず登録してみる。

2010/12/03 01:08追記

タスク管理
ブラウザからも、エクスプローラーからも(WebDAV)利用できるファイル管理
ガントチャート、バーンダウンチャートによる視覚化
Wikiはただ用意しただけって印象を受ける。
もちろんSubversionも使える。

※アクセス制限、ガントチャート、バーンダウンチャートはフリープランでは使えない。
管理画面-利用プランの変更で、フォームを埋めればプランの変更ができる。

意匠は親しみやすく、シンプルかつわかりやすくまとまっていると思う。
ただ、中身はわりと普通です。
page top

TortoiseSVNを1.6にアップデートしたら、(自分にとって)最重要機能であるマージが変わっている!

今まではトランク⇒タグ⇒ブランチを作り、機能ブランチをトランクにマージするときは、タグからブランチの最新リビジョンまでをマージしてた。
こないだ仕事でマージしようとして、「ブランチを再統合する」したら、エラーが出てマージできない!
んで、1.6のマージを調べてみる。

マージ 第4章 日常操作ガイド TortoiseSVN

「ブランチを再統合する」という、いかにも便利そうなやつが追加になっている。
「異なる2つのツリーをマージ」が、今までどおりのマージ。
「リビジョンの範囲をマージ」はよくわからない。説明文読むと、ブランチからブランチへのマージに使うのかな?

「ブランチを再統合する」をテストしてみた。

  1. ブランチ"DEV-2.0"をつくり、作業コピーを切り替える
  2. ファイルを更新し、コミット(ブランチ"DEV-2.0")
  3. トランクに切り替え
  4. 「ブランチを再統合する」で、ブランチ"DEV-2.0"をトランクにマージ
  5. コミット
  6. もう一度ブランチ"DEV-2.0"を更新し、コミット
  7. 「ブランチを再統合する」で、マージを試みるが競合が発生!
    ⇒「異なる2つのツリーをマージ」でマージしたら一発OK。

結論

今までどおり、「異なる2つのツリーをマージ」を使おうと思います。

page top
Copyright © 2005 ASOK?. all rights reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。