2007/11/11

アドオン・スクロールで別オブジェクトのメソッドをコールする方法  VRMスクリプト禅問答
突然思いついたので、忘れないように自分用メモ。
<スクロール:親オブジェクト>

Var{Object} ObjChild

BeginFunc MtdMain
  if ObjChild
    call ObjChild MtdSub
  endif
EndFunc

BeginFunc MtdSub
//参照エラーを出さないためのダミー
//(コレが味噌)
EndFunc

<アドオン・スクロール:親オブジェクト>

get ObjChild {子オブジェクト}

<アドオン・スクロール:子オブジェクト>

BeginFunc MtdSub
//後から追加する処理
EndFunc
みたいな書き方をすれば、呼び出し側と呼び出され側(変な日本語・・・@)を別のスクロールにして、かつ、呼び出され側を組み込まなくてもエラーにならない=ユーザーが機能を拡張するかしないかを、スクロールを組み込むか組み込まないかで選択出来る、はず。

なんで今まで思いつかなかったんだろう、と自己嫌悪。gws/2.0自動運転スクロールを書く日が来たら、この手法で書こう。でもその前に、自分に対する絶対的な編成の通過方向を検知してくれるセンサーが欲しいなぁ。そういうのがないと、全部を改めて書き起こす気力が起きないし。

*     *     *

なんか寂しいから絵でも貼っとくか。

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

こういう景色を作るときにちょっと物足りなかったのが、VRM4第8号収録予定のここらへんの部品で充実するかな。
0

2007/11/12  4:16

投稿者:tetta
こんばんは。
いや、この発想は凄い。
VRMスクリプトを知り尽くしたghost師匠でなければ、でてこない発想?ですよね。
インスタンスが無い時のフォローもされてるし、型は定義済みのオブジェクトですし。
ただ私的には、コンパイラーが味噌のファンクションをその型のメソッドとして認識はしてくれないような・・・。普通はチェックされてしまうような気がします。
親と子が同一のオブジェクト型なら辛うじて?
とも思いますが、VRMのコンパイラーの騙す手法の1つなのかとも・・・。
ghost師匠の実験結果が楽しみです。

コメントを書く

この記事にはコメントを投稿できません




teacup.ブログ “AutoPage”
AutoPage最新お知らせ