XLua


Extension Developer : Justin Aquadro(Retriever2)
Online Documentation: Available here

XLua はMMF2 で Lua Script を使ってイベントの制御とオブジェクトコントロールを可能にする高機能なエクステンションです。現在すでに実用的な機能実装は終わり安定性にも定評があります。またプロジェクトはエクステンション開発者によってオープンソース化されているので、MMF2 用エクステンション開発の資料としても価値あるものとなりました。

ただしユニコードには完全対応してないため、一部機能は日本語版 MMF2 から利用できません。ユニコードでは動作に問題がある一部機能を把握し、その部分だけ利用しないような工夫した使い方が必要になります。

lua extension

日本語版 MMF2 付属

上のアイコン画像は日本語版 MMF2 に付属する「 Lua Object エクステンション」のものです。しかし残念ながらこれはすでに主流として使われることがなくなった古い Lua エクステンションのひとつとなります。

「 Lua Object エクステンション」が使われなくなったのは新規設計されたエクステンションと比較して設計が古く、機能も比較すると全然少ないからです。MMF2 で Lua を扱う画期的なエクステンションとして最初に公開されましたが、この後海外では機能拡張を加えた「 Lua+ ( Plus )」という更に新しいエクステンションが出てきたため、一時的に「 Lua+ 」が「 Lua Object 」に変わりスタンダードな Lua エクステンションとなりました。ところが「 Lua+ 」は開発途上でエクステンション作者が音信不通となったため開発が頓挫し、今度は新たに「 Retriever2 」が開発者となり XLua を開発。こういう経緯を経て XLua は MMF2 で Lua を扱うエクステンションとしてニュースタンダードな地位を築くに至ったのです。以上の理由から、Lua スクリプトを MMF2 で扱う場合、現時( 2011 年 12 月)だと「 XLua 」の使用を前提としてるため、Lua スクリプトを MMF2 で使いたい方は専ら本家のダウンロードリンクから XLua を各自ダウンロードしてインストールしてください。

Version 1.5.2: Download

XLua Extension Icon

Extension

In addition to features present in the other Lua objects, XLua includes:
– Current Lua version 5.1.4 plus patches
– JIT-based VM for faster exececution ( ※ JIT コンパイラ for Lua)
– Improved error reporting
– Support for both Lua and Lua+ calling conventions
– Support for multiple independent Lua states
– Support for global Lua states
– Support for 3rd party libraries* ( ※ XLua 用にコンパイルしたもの)
– Support for multiple embedded scripts
– Syntax-highlighted script editor ( ※ 文字コードの都合で日本語が表示できません)
– Support for manipulating selection lists
– Well documented ( ※ 英語です)

* Any existing Lua C Module can be recompiled for use with XLua. In addition, several 1st party C Modules were written specifically for XLua and are included with its distribution:

– MMF Interface (mmfi.dll): Directly access and manipulate other objects on the frame. Also provides access to some other MMF state.
– XLuaGL ( opengl.dll ): Derived from LuaGL, provides API for most of OpenGL 2.0, used in conjunction with any of the OpenGL objects.
– Array ( array.dll ): Provides multi-dimensional, fixed-size, non-garbage-collected storage for numerical data.
・以上三つに加えて最新ベータ版には Lua socket が含まれます。


>>基礎へ進む