GGE Lua 详细教程
一、基础入门
- 环境搭建
- 安装GGE引擎(如GGELUA开发包),配置Lua解释器(推荐Lua 5.1.5,兼容性更佳)。
- 使用编辑器(如Sublime Text 3)编写脚本,保存为
.lua文件。
- 语法基础
- 变量与数据类型
- 全局变量(默认)与局部变量(
local关键字)。 - 支持
nil、boolean、number、string、table类型。 - 字符串用
" "或' '定义,多行用[[ ]]。
- 全局变量(默认)与局部变量(
- 运算符 :算术(
+ - * /)、逻辑(and or not)、比较(== ~= > <)。
- 变量与数据类型
- 控制结构
- 条件判断 :
if-elseif-else语句。 - 循环 :
while(条件循环)、for(计数循环)、repeat-until(先执行后判断)。
- 条件判断 :
二、核心功能实现
-
函数与模块
- 定义函数:
function 函数名(参数) ... end,支持递归和闭包。 - 模块化:通过
require加载自定义模块(如local utils = require("utils"))。
- 定义函数:
-
表(Table)高级用法
- 数组与字典:
local arr = {1, 2, 3};local dict = {key1="value1", key2=2}。 - 遍历:
for k,v in pairs(dict) do ... end(字典)或for i=1,#arr do ... end(数组)。 - 常用方法:
table.insert(添加元素)、table.remove(删除元素)、table.concat(连接字符串)。
- 数组与字典:
-
事件与输入处理
-
监听键盘/鼠标事件(需结合具体引擎API,如
OnKeyDown、OnMouseDown)。 -
示例:检测鼠标点击并输出坐标
lua
function OnMouseDown(x, y, button) if button == 1 then -- 左键 print("点击坐标:", x, y) end end
-
三、进阶应用
-
图形与动画
- 绘制图形:使用引擎提供的绘图函数(如
DrawRect、DrawCircle),需参考具体API。 - 简单动画:通过定时器(
Timer.After)更新位置或状态,实现移动、淡入淡出等效果。
- 绘制图形:使用引擎提供的绘图函数(如
-
数据持久化
- 保存数据到文件:
io.open("save.txt", "w")写入,io.open("save.txt", "r")读取。 - 序列化:将表转换为字符串存储(需自定义函数,如
table_to_string)。
- 保存数据到文件:
-
多线程与异步
-
使用协程(
coroutine)实现轻量级多任务,如后台加载资源。 -
示例:
lua
function asyncTask() print("任务开始") coroutine.yield() -- 暂停 print("任务恢复") end local co = coroutine.create(asyncTask) coroutine.resume(co) -- 启动 coroutine.resume(co) -- 恢复
-

四、调试与优化
- 调试技巧
- 打印日志:
print("变量值:", variable),或使用引擎的调试工具(如GGELUA的日志窗口)。 - 断点调试:在编辑器中设置断点,逐步执行代码(需引擎支持)。
- 打印日志:
- 性能优化
- 避免全局变量滥用,优先使用局部变量。
- 减少频繁的表操作(如频繁插入/删除),改用固定大小的数组。
- 复用对象:避免重复创建相似对象,改用对象池技术。
教程地址下载
GGELua: https://url14.ctfile.com/d/808114-68978485-f24977?p=7919 (访问密码: 7919)