2012年06月03日

NScripterで文字入力

既にtextfieldがありますが、文字の描画を自前で出来ないか試してみました。
自前といっても描画自体はdeffont.dllに任せ、文字の配置や色などをコントロールします。

edit.zip

入力可能なのは1行のテキストのみです。
変換候補一覧の表示も行っていません。

IME関連の操作を行うDLLと入力されたテキストを保持して描画を行うluaファイルで構成されています。
DLLからIME関連のメッセージをluaに渡して、lua側でそれを処理します。

最低限の機能しかなく、まともな使用に耐えうるものではありません。
luaで行っている描画処理でスプライトIDやテクスチャIDがハードコーディングされていたり

入力環境もまったく考慮していないので、日本語環境のWindowsでないと動作しないでしょう。
その日本語環境でもきちんと動作するか怪しいですが。
他にもMicrosoftのIMEでしか試していませんので、ATOKやGoogleIME(?)だとどうなるか。

本格的に色んな環境に対応させるのは大変そうなので、このまま放置の予定(´・ω・`)

というか何ヶ月ぶりの更新だろ…
posted by wintercrows at 18:07| Comment(0) | TrackBack(0) | nscripter

2011年12月25日

nsswf.dllの透過処理

むむ、Flash Player バージョン: 11.1.102.55 で透過処理されるようになってる。
仕様じゃなくてバグだったのか……な?

ただ、Tipsさんの所でファイルの読み込みが重くなることが指摘されています。
もしSwfOpenで読み込みにひっかかりを感じる場合、SwfBeginOpen/SwfEndOpenで先読みすると改善するかもしれません。
その他にSWFを無圧縮にすると、読み込み時にプロセッサの負担が減ります。(たぶん微々たる物だと思いますが)
posted by wintercrows at 12:38| Comment(0) | TrackBack(0) | nsswf

2011年10月29日

(続)nsswf.dllの透過処理の不具合


◆ 不具合の症状

・nsswf + Flash Player 11では透過処理ができない。

・XP,Vista,7のすべてで発生する。

・IE上では問題なく透過できている。

・Flash Player 11.2(Beta)でも改善しない。

・nsswf上でも透過できる環境がある。
グラフィック処理がオンボードのものは透過できなかったが、ビデオカードのものでは動作したとご報告をいただきました。ただ、こちらの環境ではビデオカードでも透過できませんでしたので、条件がまだはっきりしていません。

こちらで検証した環境は以下になります。
Win7 x64 + GeForce 460GTX
WinVista x86 + Intel GMA 4500MHD
WinXP x86 + GeForce 9800GTX
XPMode + VMware Player


◆ 解決策

現状ではFlash Player 10.3以前を利用することですが、セキュリティ上の観点からもお勧め出来ません。10.3.x以前を利用される場合は、そのバージョンにセキュリティ上の問題が見つかっていないか、よくご確認ください。


◆ nsswfの利用について

お勧めはできません。
新たに利用する場合は十分な検証の上、この問題についてよく把握した上でお使いください。


◆ nsswfの開発状況

nsswfの問題か含め、nsswf側で解決できないか調査中。
今のところ見通しは暗いです。


◆ 補足:Flash Playerの更新時における注意

nsswfが使用しているのはIE用のFlash Playerです。
基本的にIE用を更新するにはIEでAdobeのダウンロードページを開いて更新を行います。

Flash PlayerにはIE用のActiveXコントロールとNetscape互換のプラグインがあります。それぞれはインストーラを含め別々に動作していて、IE用が10.3、Netscape互換のプラグインが11.0の環境もありえます。

Flash Playerが組み込まれているGoogle Chromeについては利用していないのでわかりませんが、Netscape互換か、独自にものになるかと思います。


※前のデザインはテキスト量が増えると読みにくい気がしたので変更しました。
posted by wintercrows at 18:14| Comment(0) | TrackBack(0) | nsswf

2011年10月26日

nsswf.dllの透過処理の不具合

最新のFlash Player 11で透過処理が動作しない現象を確認しました。少し調べた感じですが、この問題はこちらでは対処できないかもしれません。

外部から利用したときの動作について、Flash Playerの動作が少し変わったようです。

Flash Player側の動作が再変更されることを期待したいですが、おそらく望み薄でしょう。(元々外部からの利用についてはサポートしていないようなので)

このため、現状ではnsswf.dllは利用を勧められないプラグインになります。サイトの方にも注意書きを記載か、もしくは公開を中止することを考えています。

申し訳ないです。
posted by wintercrows at 01:30| Comment(0) | TrackBack(0) | nsswf

2010年08月26日

ベータ版

nsswf-1.2.0.1-beta.zip

内部のコードを大分変更したので、ベータでしばらく様子を見ることにしました。前のバージョンで重くなった所が直ってたらいいんですが(´・ω・`)。

ドキュメントがわかりにくいかもしれないので、今更ながらここで少し補足。setlayerで指定する更新頻度は出来るだけ小さな値(5とか)にしてください。そうしておいて、実際の画面の更新頻度はSwfSetIntervalの方で設定します。NScripter起動後にも負荷調整出来た方がいいのかなと思ってこうしています(´・ω・`)。

[追記 - 1.2.0.1]
nslua.dllがなくても動作するように修正。
このDLLは必須じゃなかったんですね。
ついでに関数を読み込むようにしてました(´・ω・`;)
posted by wintercrows at 14:48| Comment(4) | TrackBack(0) | nsswf

2010年07月24日

つぶやきへのレス

(ここをご覧になってるかわかりませんが)

・luaの初期化でsetlayer呼ぶとSwfOpenで落ちる

調べてみたらnslua側からNSExec()で初期化するとInitialize()が呼ばれていないようです。
終了時のFinalize()は呼ばれてるので対応を考えて見ます。

・起動が重い

動作を変更したので、少し読み込むときが重くなったかもしれません。

・下方互換性

一応、9.0.277.0と10.0.x以下のいくつかを試したのですが、
こちらでは確認できませんでした(´・ω・`)
何か見過ごしてるのかな。

posted by wintercrows at 11:16| Comment(2) | TrackBack(0) | nsswf

2010年07月11日

最新のFlashPlayerでのエラー

最新のFlashPlayerでnsswf.dllが動作しないのを確認しました。
可能であれば修正します。
あと出来ればAS3.0との連携についても。
posted by wintercrows at 21:54| Comment(0) | TrackBack(0) | nsswf

2010年05月21日

Win7とビデオ再生

公式のサポートBBSで報告されてたWin7だとNScripterのmovie命令で綺麗に拡大縮小されない問題について。Win7からGDI/GDI+にハードウェアアクセラレーションがなくなった(?)のが原因なのかな。

GraphEditでレンダラをいくつか試したらEnhanced Video Rendererとオーバーレイでだけ綺麗に拡大縮小された。Win7のメディアプレイヤーはこのEVRを使用しているよう。

まあ拡大縮小しなければ問題ないようなので、そうするのが一番かな。
posted by wintercrows at 20:40| Comment(0) | TrackBack(0) | nscripter

WebM

VP8(ビデオコーデック)がロイヤリティフリーのオープンソースで公開された。Theoraなどと同じBSDスタイルのライセンスらしい。
YouTubeの動画やFlashも対応するようだから、Web上ではかなりの速度で普及しそう。ゲームなどにも使用されるんだろうか。

しかし普及すればするほど特許の問題が浮上してきそうだ。マイクロソフトのVC-1の件もあるし、本当にH.264など既存の特許に触れてないのだろうか。ただVP8がオープンになるかもしれないと噂が出たあたりから言われてたことだから、Googleには見通しがあると思うけど。

まあ自分にはその辺の技術的なことはサパーリだ(´・ω・`)
posted by wintercrows at 20:30| Comment(0) | TrackBack(0) | 日記

2010年05月15日

デモ

wcmpg_nslua_test.zip

wcmpg.dllでNSLuaを使ったデモを作ってみた。
といっても、公式のサンプルを改造しただけ。
レイヤーモードより負荷がかなり高いな……。
うーむ。

posted by wintercrows at 14:33| Comment(0) | TrackBack(0) | nscripter