提供: Minecraft Modding Wiki
移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
7行目: 7行目:
 
*ILuaObjectの実装
 
*ILuaObjectの実装
 
*Lua側での利用
 
*Lua側での利用
 +
  
 
=== ILuaObjectの実装 ===
 
=== ILuaObjectの実装 ===
 
ILuaObjectとは、通常Luaでは扱えない独自のオブジェクトをLua側からでも間接的に扱えるようにするためのインターフェイスです。
 
ILuaObjectとは、通常Luaでは扱えない独自のオブジェクトをLua側からでも間接的に扱えるようにするためのインターフェイスです。
ILuaObjectの実装クラスのインスタンスをLua側へ渡すことで、Lua側からは実装したメソッドを通してJava側のオブジェクトを操作することができます。
 
  
 
次の例では、MyObjectというJava側で作成したオブジェクトをILuaObjectを用いてLua側で扱えるようにしています。
 
次の例では、MyObjectというJava側で作成したオブジェクトをILuaObjectを用いてLua側で扱えるようにしています。
67行目: 67行目:
 
=== ILuaObjectの引き渡し ===
 
=== ILuaObjectの引き渡し ===
  
ILuaObjectの実装クラスのインスタンスは、以下のようなメソッドでLua側へ渡すことができます。
+
実装したILuaObjectオブジェクトは、以下のようなメソッドでLua側へ渡すことができます。
 
*'''IPeripheral.callMethod()'''の戻り値のObject[]の要素
 
*'''IPeripheral.callMethod()'''の戻り値のObject[]の要素
 
*'''IComputerAccess.queueEvent()'''の引数のObject[]の要素
 
*'''IComputerAccess.queueEvent()'''の引数のObject[]の要素
74行目: 74行目:
 
=== Lua側での利用 ===
 
=== Lua側での利用 ===
  
ILuaObjectの実装クラスのインスタンスはテーブルに変換されてLua側へ渡されます。テーブルの要素はキーがメソッド名の文字列、値がそのメソッドを呼ぶための関数です。
+
ILuaObjectオブジェクトはテーブルに変換されてLua側へ渡されます。テーブルの要素はキーがメソッド名の文字列、値がそのメソッドを呼ぶための関数です。
  
 
ここでは、上の例で実装した周辺機器を元に、ILuaObjectの実装部分に手を加えて解説します。
 
ここでは、上の例で実装した周辺機器を元に、ILuaObjectの実装部分に手を加えて解説します。

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート: