LUA-Scripting?
Übersicht

CO2ehemals "SirMO"Betreff: LUA-Scripting? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich lese mich aktuell in das MaxLUA-Modul ein und habe schon ein paar Verständnisfragen: 1. Wie kann ich dem LUA Funktionen beibringen? Es gibt ein LuaRegisterObject, mit dem könnte ich auf die Methoden dieses Objektes zugreifen, ich möchte aber kein Objekt, sondern eine Funktion bekannt machen. 2. Wenn ich nun die Funktionen registriert habe, wie kann ich LUA-Code ausführen? Ich sehe in der Dokumentation (die wie immer zu wünschen übrig lässt ![]() |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
das würde mich auch brennend interessieren
folgende links habe ich aber gefunde, du wahrscheinlich auch https://en.wikibooks.org/wiki/...es/Axe/Lua https://en.wikibooks.org/wiki/..._scripting http://lua-users.org/wiki/BlitzMax vieleicht ist das thread auch noch interessant https://www.blitzforum.de/foru...p?p=392572 |
||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
vielen Dank für Deine Antwort. Die Links hatte ich mir auch schon angeschaut. Es scheint zwei größere BlitzMax-Lua-Module zu geben. MaxLUA scheint das von BRL zu sein und AxeLua ein öffentliches. Ich habe vorher nichts mit LUA zu tun gehabt, und wollte mir das mal anschauen. Ich habe mich jetzt oberflächlich in MaxLUA eingearbeitet und es ist auf den zweiten Blick doch ziemlich logisch... Was ich bisher gemacht habe: BlitzMax: [AUSKLAPPEN] Function ReadAllLines:String(stream:TStream) LUA-Code: Code: [AUSKLAPPEN] function OnDraw(num1, num2, str1, num3)
lua.PrintText('Dies ist ein Test, Parameter: num1 = ' .. num1) lua.PrintText(num1 .. ' + ' .. num2 .. ' = ' .. lua.Add(num1, num2)) end Ausgabe: Code: [AUSKLAPPEN] Dies ist ein Test, Parameter: num1 = 1
1 + 15 = 16 Was ich verwirrend fand, war, dass ich ein Objekt brauchte, um meine BlitzMax-Funktionen in LUA nutzen zu können. Sprich: Ohne dieses Objekt ist der LUA-Interpreter sinnlos... Im Endeffekt kann ich mir dieses Verhalten aber so erklären: In BlitzMax gibt es keine Namensräume, also wich man auf Klassen (bzw. Objekte) aus. Alle Methoden innerhalb dieses Objekts sind vom LUA-Interpreter zugänglich, was ein lästiges Registrieren aller Funktionen erspart. Was ich noch immer nicht ganz durchschaut habe ist, warum es eine TLuaClass und ein TLuaObject gibt. Was ist der Unterschied zwischen den beiden? Warum kann das nicht nur über TLuaClass laufen? Aber ich denke, das ist so ein Auswendig-Lern-Ding ![]() |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Meines Wissens: ![]() ![]() ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group