2009-05-06 6 views

Antwort

1

Sie werden wahrscheinlich Anrufe in die entsprechende Win32-API, DirectX oder was auch immer in einem Lua-Modul umbrechen müssen. Das Abfangen von Key-Stroke-Ereignissen in IUP erfordert, dass es über den "normalen" Windows-Nachrichtenmechanismus an das Fenster oder die Steuerung geliefert wird und wahrscheinlich nicht der beste Ansatz in einem Spiel-Framework ist.

Sie können ein IUP-Timer-Objekt verwenden, um einen Redraw nach einem Zeitplan auszuführen, aber Sie benötigen weiterhin eine Möglichkeit, den Tastaturstatus abzurufen. Wenn Sie ein Gamepad, einen Joystick oder ein anderes HID als Tastatur und Maus verwenden möchten, wird IUP in keinem Fall direkt helfen.

Dies ist leicht mit einer kleinen Menge von C-Code in eine DLL kompiliert.

Es kann ziemlich einfach mit SWIG, für einige Arten von API getan werden. Andere werden genug Setup/Teardown-Arbeit nehmen, dass es einfacher ist, die Verpackung nur handzuhaben.

Es gibt auch das Alien Modul für Lua, das direkte Aufrufe in beliebige APIs aus reinem Lua ermöglicht. Alien ist Teil von Lua for Windows, sowie über seine Projektseite in Luaforge. Alien selbst ist sogar über Plattformen hinweg etwas tragbar, obwohl nichts, was man damit sagen würde, ist.

Wenn Sie diesen Pfad verfolgen, sollten Sie sich noch etwas anderes anschauen, wenn Sie eine oder mehrere der vorhandenen Game-Engines verwenden. Normalerweise verbergen sie die Ereignisschleife innerhalb der Engine (wie IUP), aber sie sind eher für Spieleaufbau als für Desktop-Anwendungen optimiert.

Es gibt eine Reihe da draußen, von denen ich Gerüchte auf der Lua-Mailingliste gehört habe. Eine, die in den Sinn kommt, weil sie oft erwähnt wurde, ist LÖVE.

+0

Ich suche gerade LÖVE, und bisher bin ich ziemlich beeindruckt. Das scheint das zu sein, wonach ich gesucht habe. –