2008/8/21 | 投稿者: ghost

【怎麼生】

http://caldia.blog.shinobi.jp/Entry/238/

【説破】 4.0.9.8

その1。SetEventTime/After/Timer命令の第4パラメータ(時間)は変数に対応していません。SCRIPTマニュアルの記述上も、変数が使えるとは書いてありません(使えない、とも書いてありませんがw)。加えて、VRMビュワー起動時のスクリプト文法チェックは甘々で、しばしば変数対応していないパラメータに対して書かれた変数名を無視し(エラーにならずにビュワーが起動してしまう)加えて、該当部分を勝手に“0”と解釈して動作しているように見えます。

で、SetEventTime/After/Timer命令が、第4パラメータが0(ミリ秒)の場合にどのような挙動を取るかはソースコードを読まないと何とも言えませんし、ボクの記憶が正しければ、4.0.1.x時代は何も起きませんでした。が、字義通りに解釈すれば、Caldia氏がやったことは「0秒毎にメソッドを実行しろ」という意味になりますから、まぁ、おかしなことが起こっても驚くには値しません。以上。

その2。簡単な実験をしてみましょう。何でもいいので、適当なオブジェクトに以下のスクリプトを書き込み、ビュワーを起動してみてください。
DrawMessage "ちょっとしたテスト"
すると、起動したビュワーのログウィンドウに以下に示すような表示が現れるはずです。

クリックすると元のサイズで表示します

この実験でわかるのは、宣言部(メソッドの外側)に書かれたスクリプト命令の処理が実行されるタイミングは、“VRMViewer V4”が“Startup OK”するよりも早い、ということに尽きます。

続きを読む
0




AutoPage最新お知らせ