找回密码
 register

QQ登录

只需一步,快速开始

查看: 2119|回复: 0

[系统函数] GetWorldPos 得到角色当前坐标

[复制链接]

[系统函数] GetWorldPos 得到角色当前坐标

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:94
  • 打卡月天数:17
  • 打卡总奖励:94
  • 最近打卡:2025-01-18 01:28:20
Waylee

主题

0

回帖

1万

积分

仙帝

积分
11929
Waylee 2020-10-21 16:22 | 显示全部楼层 |阅读模式

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×

***付费内容***

C++源代码(武侠世界)

// 定义 LuaFnTbl 类中的 LuaFnGetWorldPos 函数,使用默认的调用约定
INT LuaFnGetWorldPos(Lua_State* L)  
{
    LUA_ENTER_FUNCTION // 宏,通常用于函数入口的初始化、异常处理或日志记录

    // 从 Lua 栈中获取第一个参数并转换为 SceneID_t 类型
    SceneID_t sceneId = Lua_ValueToNumber(L, 1); // 场景 ID

    // 从 Lua 栈中获取第二个参数并转换为 ObjID_t 类型
    ObjID_t selfId = Lua_ValueToNumber(L, 2); // 对象 ID

    BEGINCHARCTERDEFINE("LuaFnGetWorldPos") // 宏,通常用于定义当前操作的角色对象 `pCharacter`,进行预处理

    // 将角色的世界坐标 X 位置推送到 Lua 栈中
    Lua_PushNumber(L, pCharacter->getWorldPos()->m_fX); // 角色的 X 坐标

    // 将角色的世界坐标 Z 位置推送到 Lua 栈中
    Lua_PushNumber(L, pCharacter->getWorldPos()->m_fZ); // 角色的 Z 坐标

    return 2; // 返回 2,表示向 Lua 返回了两个值(X 和 Z 坐标)

    ENDCHARCTERDEFINE // 宏,通常用于结束当前操作的角色定义,进行后处理

    // 如果角色定义失败或发生错误,推送两个 -1 到 Lua 栈中
    Lua_PushNumber(L, -1); // 错误时的 X 坐标占位符
    Lua_PushNumber(L, -1); // 错误时的 Z 坐标占位符
    return 2; // 返回 2,表示向 Lua 返回了两个值(错误占位符)

    LUA_LEAVE_FUNCTION // 宏,通常用于函数出口的清理、异常处理或日志记录

    // 如果在异常处理路径中,推送两个 -1 到 Lua 栈中
    Lua_PushNumber(L, -1); // 异常时的 X 坐标占位符
    Lua_PushNumber(L, -1); // 异常时的 Z 坐标占位符
    return 2; // 返回 2,表示向 Lua 返回了两个值(异常占位符)
}

付费看帖
剩余 24% 内容需要支付 2.00 金币 后可完整阅读
支持付费阅读,激励作者创作更好的作品。
您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |天天打卡

GMT+8, 2025-1-18 15:49 , Processed in 0.104437 second(s), 8 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表