CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
入门夯实语法算法996引擎坐标旋转

Lua坐标旋转:二维旋转变换的公式实现

2026-09-26 19:45 作者:996 技术组 996引擎Lua教程传奇脚本入门夯实语法算法996引擎Lua坐标旋转

【语法】
一、隐蔽陷阱:技能范围绕施法者旋转,逐点手算坐标容易把余弦与正弦位置写反——二维旋转公式为新横等于旧横乘余弦减旧纵乘正弦,新纵反之。
二、底层原理:旋转矩阵两行四元素:绕中心旋转要先减中心坐标再旋转后加回;角度取弧度值,负角度即反向旋转。
三、正确代码:
错误写法。示例代码如下:

lua
local function rotate(x, y, a)
    return x * math.cos(a) + y * math.sin(a),
        x * math.sin(a) - y * math.cos(a)   -- 符号写反,镜像旋转
end

正确写法。示例代码如下:

lua
local function rotate(cx, cy, x, y, a)
    local dx, dy = x - cx, y - cy
    local c, s = math.cos(a), math.sin(a)
    return cx + dx * c - dy * s,
        cy + dx * s + dy * c     -- 绕中心旋转
end
local nx, ny = rotate(200, 200, 230, 200, 1.57)
sendmsg(actor, 1, "旋转后坐标 " .. nx .. "," .. ny)

四、引擎验证:30 格偏移点旋转 90 度 1000 次:符号反版转出镜像位;正确版落点与手算一致,误差小于 0.01。
五、FAQ:问:逆时针怎么转?答:角度取负值即反向旋转,公式不变。

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

最新技术文章 · 实战干货

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

入门夯实游戏功能

过场遮罩:切图过渡的展示时机

【游戏】 一、规则机制 一行定骨架:mask:setVisible(true) 先于一切加载动作。切图最怕"加载一半的半成品…

2026-09-27 18:11 996 技术组
进阶实战游戏功能

断线重连:提示弹窗与自动返回

【游戏】 一、规则机制 线上事故:网络一抖直接踢回登录页,重新登录还要排队,火气全从这一脚踢出来。断线重连改温和路线:检测到…

2026-09-27 18:11 996 技术组
进阶实战语法算法

Lua配置合并:默认表与覆盖表

【语法】 一、机制原理 抛个坑:界面配置十来个字段,只想改颜色一项,传入的覆盖表却把没写的字段全顶成 nil——直接拿覆盖表…

2026-09-27 18:11 996 技术组
进阶实战游戏功能

长列表:滚动可视区的流畅刷新

【游戏】 一、规则机制 一行定骨架:first = math.floor(offset / ROW_H)。千行列表建一千个节…

2026-09-27 18:11 996 技术组
入门夯实语法算法

Lua去重保序:seen表的过滤写法

【语法】 一、机制原理 隐蔽的坑:给敏感词表去重,用了"排序后相邻比对"的老办法,重复是去掉了,原有优先级顺序也被打乱。去重…

2026-09-27 18:11 996 技术组
进阶实战语法算法

Lua二维网格:嵌套表的行列遍历

【语法】 一、机制原理 隐蔽的坑:网格数据用 grid[x .. "_" .. y] 拼字符串键存取,写入顺手,可要遍历整张…

2026-09-27 18:11 996 技术组