AIRNovel更新:色行列変換系フィルタ追加

●リリース Ansan_sdkAndroidChromeOSiPadiPhone全ソース
3.04
* bug:MovLayerでleftとtopが正しく設定できなかった不具合修正
* add:[trans]にカラーマトリックスフィルタと畳み込みフィルタを追加

瀬戸愛羅さんのご投稿で機能追加致しました!

ソースそのまま使わせて戴きました。有り難う御座います!
属性の値域チェックは特にしていません。内部に任せて良い複雑さなのと、色なので最終的に0~255に丸め込まれるようなので。


カラーマトリックスフィルタと畳み込みフィルタの実例は、plgASFilterプラグインの例に追加されています。
これらを駆使すればモノクロ表示、青成分だけ抜き出し、エッジを追加、シャープネスっぽくしてみたり、暗くしてみたり、など高度な色置換処理が可能です。
詳細を上手く説明できませんが(汗)、ColorMatrixFilterやConvolutionFilterでググってみて下さい。
ColorMatrixFilterはこんな説明がありました

追記 11/10 以下はGUIでお試しできるツールみたい。

ColorMatrixFilter ConpaneTool - wonderfl build flash online

スポンサーサイト



AIRNovel更新:色々手直し

●リリース Ansan_sdkAndroidChromeOSiPadiPhone全ソース
3.03
* chg:[img]マクロでfn非指定時はvisible=falseとする(パフォーマンス改良)
* add:[lay]で画像レイヤ以外の全レイヤでもleft,topを使用できるように。
* add:プラグインAPIにbuildBmpFilter追加(AIRNovel本体のFilterFactory.build()を使わせる)
* chg:プラグインplgASFilterを上記APIを使うよう変更。
* add:プラグインplgASFilterに[add_color_transform][clear_color_transform]追加。
    レイヤーやプラグインにカラー調整の効果を加えるタグ。
    Photoshopのカラー調整に近いがちょっと違う気もする。
* chg:ansのframeRateが30だったのを100にアップ(ver3.0でもやっていなかった)
* chg:桜のframeRateが30に戻っていたのを修正。
* chg:Android版frameRateを24に変更。

あり得ない組み合わせだと思いますが、
「3.02以前のAIRNovel」では新バージョンの「プラグインplgASFilter」は使用できません。

AIRNovel更新:[let_as]廃止とレイヤ等表示状態変数追加

●リリース Ansan_sdkAndroidChromeOSiPadiPhone全ソース
3.02
* del:[let_as](システム情報取得)廃止組み込み変数とする。
   ただしUTC経過時間は「const.Date.getTime」、
   VM起動経過時間は「const.flash.utils.getTimer」に変名。

* chg:sub.anを[let_as]ではなく組み込み変数を使うよう変更。
* add:レイヤやプラグインの表示状態visibleを取得する組み込み変数追加
* chg:組み込み変数「const.an.hPlugin」を「const.an.plg」に変名

[let_as]まわりでバタバタして済みません。
多分この形が一番使いやすいと思いますので。

以下の感じで使えます。(ansのmain.anに貼り付け、breakline.swfをmatに入れると動きます)

; == 現状状態表示
; escape:[ch text=&const.an.key.escape][r]
mes:[ch text=&const.an.lay.mes.fore.visible]
[ch text=&const.an.lay.mes.back.visible][r]
grp:[ch text=&const.an.lay.upd.fore.visible]
[ch text=&const.an.lay.upd.back.visible][r]

[loadplugin fn="breakline" join=true]
; [unloadplugin fn="breakline"]; 削除したら以下はエラーになる(存在しないので。存在チェックは組み込み変数で)
breakline:[ch text=&const.an.plg.breakline.visible][p][r]

; == 表示してみる
[lay layer=upd fn="update" visible=true left=86 top=186]
; [lay layer=upd page=back fn="update" visible=true left=86 top=186]
[plugin name="breakline" visible=true]

; == 現状状態表示
; escape:[ch text=&const.an.key.escape][r]
mes:[ch text=&const.an.lay.mes.fore.visible]
[ch text=&const.an.lay.mes.back.visible][r]
grp:[ch text=&const.an.lay.upd.fore.visible]
[ch text=&const.an.lay.upd.back.visible][r]

breakline:[ch text=&const.an.plg.breakline.visible]

; datetime:[ch text=&const.Date.getTime]
; VM:[ch text=&const.flash.utils.getTimer]
[s]

AIRNovel更新:プラグインとレイヤの重ね順操作

●リリース Ansan_sdkAndroidChromeOSiPadiPhone
3.01
* add:[plugin]にindex・dive属性を追加。
* upd:[lay][plugin]のdiveは「plg:プラグイン名」形式でプラグインを指定できるように。
* upd:SaveLoad画面でホイール効くように。

ざっくり云うとこのプラグインの下にこのレイヤを潜り込ませたいとか、その逆とか、
そういう指定が出来るようになったイメージです。

AIRNovel更新:必須 AIR を 2.6 に更新

●リリース Ansan_sdkAndroidChromeOSiPadiPhone
3.0
* upd:必須 AIR ランタイムバージョンを 2.6 に更新(Linuxサポートで最大Version)
* upd:アプリケーション記述ファイルとビルドファイルなどを修正
    必須 AIR ランタイムバージョン2.0 なら、build.xml を swf-version=10 に。
    〃 2.6 なら、build.xml を swf-version=11 に。
    iOSとAndroidは 〃 3.0 、build.xml を swf-version=13 に。
    明らかに swf-version 指定を target-player と取り違えていた点を修正。
* upd:ansと桜のビルドベースSDKを FlexSDK 4.5.1.21328AIR SDK 3.0 に。
* upd:famibee・夕街作品フレームレート 100 fps に。(AIRNovel.asを変更)
* upd:plgGallery.asをAIR SDK 3.0 対応。


Adobe AIR も 3.0 世代となり、AIRNovel も一区切りとするためバージョン 3.0 とします。
今回だけ自動更新機能は使えません。以下や公式サイトからインストールして下さい。

「ans」をブラウザからインストール(公式サイト


「桜の樹の下には」をブラウザからインストール(公式サイト


PC/Macで動きが滑らかに見えるのは表示フレームレートを 100 fps に上げたからです。
アニメswf(breakline.swf、breakpage.swf、Mnu_InfoThumb.swf)も100フレームで一周するよう変更。
実は ans と 桜 は Flex SDK 4.6(現在 Prerelease で非公開、今年配布開始とのこと)でビルドしてみました。処理が最大二倍速いと聞いて。確かに起動時間が早くなったりしてます。

桜でconfig.anprj の debug要素を指定(init_time属性、render_dt属性)してみると──
********************* [STOPWATCH] *********************
* first s
* started [00548ms] stopped [03855ms] time [03307ms](Flex 4.6)
* started [01145ms] stopped [06707ms] time [05562ms](Flex 4.5.1)
* total runnning time: 3.307s --- 5.562s(Flex 4.5.1)
*******************************************************
[D] invalidate
[D] RENDER lay:base dt:2230 --- 2418(Flex 4.5.1)
[D] RENDER lay:mes dt:2175 --- 2360(Flex 4.5.1)
(略)
[D] RENDER init o:[object TxtLayer] idx:28,29 name:_syslay.mes
[D] invalidate
[D] RENDER lay:base dt:1144 --- 1661(Flex 4.5.1)
[D] RENDER lay:mes dt:1144 --- 1661(Flex 4.5.1)
[D] RENDER lay:_syslay.bg dt:410 --- 760(Flex 4.5.1)
[D] invalidate
[D] RENDER lay:base dt:988
[D] RENDER lay:mes dt:988
[D] RENDER lay:_syslay.bg dt:988
[D] RENDER lay:_syslay.mes dt:1397
(略)

 ※処理速度計測で多少処理速度は遅くなっています。
 STOPWATCHまでの処理で、1.145秒が0.548秒に。(約47.86%の短縮)
 タイトルのボタンイベント待ち[s]にたどり着くまでで、5.562秒が3.307秒に。(約59.45%の短縮)
 以降も揺れが収まるまで(dtが1000~988になるまで)の振幅も少し小さくなっており、なにか根本的な改良が加えられたように思います。
 あまり目に見える改善じゃないかもですが、無駄削減は良いことですね。



今後推奨AIRは3.0以上とします。
現状AIR3.0の機能は全く使用していませんが、特に理由が無ければAIRは3.0以上を対象としてください。

必須AIR 2.6(以下)で無ければならない場合……Linuxにて動作させたい場合。
AIR 2.7からLinuxがサポートされなくなりました。Adobeによるとあまりユーザーが居ないようです。


今後ソースファイルは必須AIR 2.6(以上)で配布します。上記よりLinuxでも動作。

必須AIR 3.0としたい場合、UnderCherry-app.xml と build.xml を変更しビルドします。
●UnderCherry-app.xml(アプリケーション定義ファイル
元 …… <application xmlns="http://ns.adobe.com/air/application/2.6">
変 …… <application xmlns="http://ns.adobe.com/air/application/3.0">

●build.xml
元 …… -swf-version=11
変 …… -swf-version=13

ちなみにAIR 3.0なら「ant air_r」でWindows環境ならランタイム入りexe、Macならappが出来ます。(Macのみ動作確認済み)


既存のソースを変更する場合は、以下の変更を行なってください。

●バージョン記述タグの変更(アプリケーション定義ファイル
旧 …… <version>0.2.300</version>
新 …… <versionNumber>0.2.300</versionNumber>

●アプリバージョン番号表記の変更(_config.an、7行目)
旧 …… const.flash.(中略).applicationDescriptor.version@str
新 …… const.flash.(中略).applicationDescriptor.versionNumber@str


Flex SDK を4.1から4.5.1に上げましたので、この不具合がansで発生します
が、実用上あまり問題ないと思われる& Adobe には報告したので、良しとすることにしました。
プロフィール

ふぁみべぇ

Author:ふぁみべぇ
 →@famibee
 →メアド(四角を@に)

カテゴリ
リンク
検索フォーム
最新記事
月別アーカイブ