*はじめに [#m7e9958e]

#contents

スクリプトエンジン「Lua」の利用方法についてのメモです

*Luaについて [#c7a1dd0a]
**Luaとは [#t0ff3cac]

オープンソースのスクリプトエンジンです。~
スクリプトとしては比較的速度が早く(らしい)~
C言語との親和性が高いのが特徴です~

公式HP
- http://www.lua.org/

日本語リファレンス
- http://milkpot.sakura.ne.jp/lua/lua51_manual_ja.html

**利用準備 [#mf9409a3]

Lua配布ページ~
- ~


**プロジェクトの設定 [#e50a41b8]

--インクルードするヘッダファイル~
-インクルードするヘッダファイル~

-Cの場合~
--Cの場合~
lua.h
lualib.h
lauxlib.h

-C++の場合~
--C++の場合~
lua.hpp

--リンクするライブラリ~
-リンクするライブラリ~
lua51.lib

*toLua++ [#n4bafee5]

C/C++で実装した関数やクラスはLuaに登録することで~
スクリプト側から呼び出すことができます。~
通常はLuaのAPIを用いて関数を登録していくのですが~
toLua++という外部ツールを用いると、LuaへのAPIの公開が簡単になります。~

**toLua++を使う準備 [#a15527a5]

ダウンロードしてきて幾つかのファイルをプロジェクトに追加。~
.pkgファイルにLuaに公開したいクラス、関数を列挙。~
 $#include "myHeader.h"
 int globalFunction();
 class{
  public:
     void classFunc1();
     void classFunc2(int);
 };
生成されたヘッダとソースをプロジェクトに追加。~

**toLua++を使う注意点 [#qc5564d5]

-一部の演算子オーバーロードは使えない(^や+=など)
-グローバルなオーバーロード演算子は使えない

*Luaの基本的な使い方 [#x773c55a]
-コンテキスト(LuaVM)を作る
-Luaスクリプトをロードする

*メモ [#m83949b4]

Luaスクリプトをロードした時点で構文解析が行われる~
グローバル部分に記述したスクリプトは即実行~
解析はファイルの上から進むので、定義前の関数や変数は実行できない~

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS