Skip to content

Haxe Lua Bindings (Embed Lua runtime in your Haxe app)

Notifications You must be signed in to change notification settings

nebulazorua/hxvm-luajit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Haxe Lua Bindings Build Status

Embed the Lua scripting engine into your Haxe application

Supported targets

  • c++ (tested on macOS and windows)
  • js (tested on Chrome)
  • nodejs

Example Usage

// create an instance
var lua = new vm.lua.Lua();

// set global variables
lua.setGlobalVar('square', function(v) return v * v);
lua.setGlobalVar('foo', 2);

// run a script
lua.run('return square(foo)'); // gives you 4

// supply an object as second paramter to run() to set global vars
lua.run('return bar', {bar: 2}); // gives you 2

// run function
lua.run('function add(a, b) \n return a + b \n end'); // first we create a lua function
lua.call('add', [1, 2]); // gives you 3

// destroy when done with the instance
lua.destroy();

Install

Target C++

When targeting C++ we compile the Lua runtime from its C source code.

  1. Install haxelib: linc_lua
  2. Add -lib linc_lua to your haxe build

Target JS

When targeting JS we utilize Fengari, which is the Lua VM written in pure JavaScript.

You can choose to either build a standalone js file for Fengari or require it in your project.

For browser without bundlers
  1. Install haxelib: hxjs-fengari
  2. Git clone https://github.com/fengari-lua/fengari
  3. Run yarn && yarn run build
  4. Add the output file (dist/fengari.js) to your project using a <script> tag in html
  5. Add -lib hxjs-fengari -D fengari_global to your haxe build

For Node.js or browser js with bundlers

  1. Install haxelib: hxjs-fengari
  2. yarn add https://github.com/fengari-lua/fengari
  3. Add -lib hxjs-fengari to your haxe build

TODO

  • Implement/test coroutines

About

Haxe Lua Bindings (Embed Lua runtime in your Haxe app)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haxe 100.0%