Lua Logo
Hallo world mit Lua für C#

Für die, die Lua nicht nur für ihr Spiel brauchen, werde ich einige Arten der Einbindung von Lua in C vorstellen.

nach obenEine Art Lua in C# einzubinden.
In c# ist es besonders einfach Lua zu benutzen.

Interface einbinden

Zunächt eine Reference angeben:




using LuaInterface;

Eine Klasse, die Lua sofort öffnet

Geht auch anders, Wenn man gut C# kann wird man das besser wissen als ich. ;)


class MyLua:Lua
{
public MyLua()
{
//OpenBaseLib(); // brauchen wir hier nicht.
//OpenLoadLib();
//OpenStringLib();
//OpenMathLib();
//OpenIOLib();
//OpenTableLib();
RegisterFunction("Print", this, this.GetType().GetMethod("PrintVonLua")); C# - Funktion wird in Lua Registriert
}

public void PrintVonLua(string str) // Function zur Ausgabe
{
Console.WriteLine(str);
Console.ReadLine();
}
}

Instanz erzeugen.

static void Main(string[] args)
{
MyLua lua = new MyLua();


Zwei verschiedene Arten Hallo zu sagen:


lua.DoString("Print('Hallo von Lua DoString')");
lua.DoFile("mein.lua");
}


Komplettes Projekt kann man hier herunter laden.


Und so sollte es dann aussehen



nach obenCode komplett:

using System;
using System.Collections.Generic;
using System.Text;
using LuaInterface;

namespace LuaHallo
{
class Program
{
static void Main(string[] args)
{
MyLua lua = new MyLua();
lua.DoString("Print('Hallo von Lua DoString')");
lua.DoFile("mein.lua");
}

}
class MyLua:Lua
{
public MyLua()
{
//OpenBaseLib();
//OpenLoadLib();
//OpenStringLib();
//OpenMathLib();
//OpenIOLib();
//OpenTableLib();
RegisterFunction("Print", this, this.GetType().GetMethod("PrintVonLua"));
}
public void PrintVonLua(string str)
{
Console.WriteLine(str);
Console.ReadLine();
}
}
}

Die Vervielfältigung der auf diesen Seiten enthaltenen Informationen und Grafiken ist untersagt, ausgenommen davon ist sämtlicher auf diesen Seiten angezeigter Quellcode.
Siehe auch: Haftungsausschluss
Copyright © Robert Schmitz 2006