AngelScript コンテンツリンクhttp://angelscript.pbwiki.com/ http://liw.rulez.jp/index.php?%A5%D7%A5%ED%A5%B0%A5%E9%A5%E0%2FAngelScript スクリプト実行の順序メモスクリプト実行の順序
includeは自前で実装しているのね。 未初期化バグを防ぐために0埋め本当は未初期化をコンパイルエラーできれば最高。 その仕組みがないので,ライブラリがalloc要求したメモリを0で埋めてから戻すようにする。 構文class
改造2.14.0を元にいじってます。 import他のmoduleの関数(Typeは不可)を自分のmodule内で使うための機能。 constメンバ関数対応C++コード側からのRegisterでは,constなメンバ関数が登録できるが script側からの登録はノンサポートだったので,ライブラリを改造して対応した。 ↑ 2.14.1 で対応されてたのでそっちに変更。 なので,一工夫したほうがいいかも。 その一例。 実装クラス(L_MathVector3)はIObjectを必ず継承する。 外部に公開する関数(F_MathVector3_*)はクラス外に宣言し,引数の先頭に必ずIObjectをとる。 他のモジュールは,公開されたその関数を通してアクセスするか,そのラッパークラス(MathVector3)を使ってアクセスする。
こいつは,mathモジュールでのみコンパイルされる。 クラスの内部実装を記述している。
こいつは,他のmoduleでコンパイルされる。 クラスの内部実装は書かず,内部実装が書かれている関数を呼ぶだけに留める。
|