迷你世界UGC3.0脚本Wiki


Menu
On this page
Sidebar Navigation
快速入门
欢迎
MOD、组件介绍
什么是Lua编程
组件介绍
组件说明
组件互相操作
组件函数
组件属性
事件
触发器事件管理
组件事件管理
函数库
服务模块
世界模块管理接口 World
对象模块管理接口 GameObject
角色模块管理接口 Actor
玩家模块管理接口 Player
生物模块管理接口 Monster
方块模块管理接口 Block
道具模块管理接口 Item
背包模块管理接口 Backpack
界面模块管理接口 CustomUI
图文信息模块管理接口 Graphics
区域模块管理接口 Area
容器模块管理接口 WorldContainer
资源模块管理接口 Mod
计时器模块管理接口 Timer
状态模块管理接口 Buff
消息模块管理接口 Chat
普通变量数据管理接口 Data
数组变量数据管理接口 Array
二维表变量数据管理接口 Table
KV表变量数据管理接口 Map
全局函数
全局函数
枚举
枚举库
脚本常见问题
开发者常见问题
进阶指南
全局函数
触发器脚本交互
对象介绍
KV&排行榜介绍
二维表介绍
道具实例
更新日志
更新日志
对象模块管理接口 GameObject
具体函数名及描述如下:
序号 函数名 函数描述
1 FindObject(...) 根据ID查找游戏对象
2 FindUIObject(...) 获取当前游戏ui对象
3 FindBlockObject(...) 获取当前游戏方块类别对象
4 CreatePrefabInst(...) 创建预制实例
5 CreatePrefab(...) 创建对象
6 Destroy(...) 删除对象(玩家,方块,世界,ui 对象不能删除)
7 GetObjectPrefab(...) 获取对象的预制id
FindObject
参数及类型:
id:number,string游戏对象的唯一标识
返回值及类型:
ret:GameObject,nil返回找到的游戏对象,如果没有找到则返回nil
该方法的主要作用: 根据ID查找游戏对象
具体使用案例如下:
lua
local uiObj = GameObject:FindObject("7482986899365911542-22886")
if uiObj then
print("找到ui界面对象")
end
local hostUin = Player:GetHostUin()
local player = GameObject:FindObject(hostUin)
if player then
print("找到玩家对象")
end
FindUIObject
参数及类型:
id:number,string游戏对象的唯一标识
返回值及类型:
ret:GameObject,nil返回查找的ui对象,如果没有找到则返回nil
该方法的主要作用: 获取当前游戏ui对象
具体使用案例如下:
lua
local ret = GameObject:FindUIObject(id)
FindBlockObject
参数及类型:
id:number,string方块类型id
返回值及类型:
ret:GameObject,nil返回查找的方块对象,如果没有找到则返回nil
该方法的主要作用: 获取当前游戏方块类别对象
具体使用案例如下:
lua
-- 方块对象接口只能查找到编辑过的方块或是自定义的方块
--获取方块类型对象(场景中至少有个方块才能获取到)
local blockObj = GameObject:FindBlockObject("r0_7495946400275515402_23048")
if blockObj then
print("找到方块对象")
end
CreatePrefabInst
参数及类型:
prefabId:string预制体ID
worldId:number星球id(默认当前主机所在星球)
x:number位置X坐标
y:number位置Y坐标
z:number位置Z坐标
trigger:boolean是否触发事件
返回值及类型:
ret:GameObject,nil返回创建的对象,如果创建失败则返回nil
该方法的主要作用: 创建预制实例
具体使用案例如下:
lua
-- 创建场景中对象类型预制
local obj = GameObject:CreatePrefabInst("r1_7482990429829028854_22890", WorldId, 10,8,10)
if obj then
local hpCmp = obj:GetComponent("HP") -- 获取血量组件
if hpCmp then
hpCmp.hp = 120 -- 设置血量
end
print("创建预制成功")
end
CreatePrefab
参数及类型:
objectType:number对象类型 ObjType ObjType
prefabId:number,string类型ID或预制ID
x:number位置X坐标
y:number位置Y坐标
z:number位置Z坐标
num:number数量
trigger:boolean是否触发事件(可缺省)
worldId:number星球id(默认当前主机所在星球)
返回值及类型:
ret:table返回创建对象的列表,如果需要objId,则需要用GetId()获取
该方法的主要作用: 创建对象
具体使用案例如下:
lua
-- 创建游戏内预设的生物2只
local objs = GameObject:CreatePrefab(ObjType.Mob, 3400, 10,8,10, 2, true, WorldId)
if objs and #objs > 0 then
-- obj.transform:SetPosition(10,8,10) -- 设置位置, 等同上面创的位置参数操作
for _, obj in ipairs(objs) do
local objid = obj:GetId() -- 获取对象的objid
local hpCmp = obj:GetComponent("HP") -- 获取血量组件
if hpCmp then
hpCmp.hp = 120 -- 设置血量
end
end
print("创建游戏内生物成功")
end
-- 创建自定义生物 1只
local customObjs = GameObject:CreatePrefab(ObjType.Mob, "r1_7482990429829028854_22890", 10,8,13, 1, true, WorldId)
if customObjs and #customObjs > 0 then
print("创建自定义生物成功")
end
Destroy
参数及类型:
objId:string对象id
返回值及类型:
ret:bool成功(true)
该方法的主要作用: 删除对象(玩家,方块,世界,ui 对象不能删除)
具体使用案例如下:
lua
local objid = nil
local obj = GameObject:CreatePrefabInst("r1_7482990429829028854_22890", nil, 10,8,10) --创建一个生物
if obj then
-- 删除对象
objid = obj:GetId()
GameObject:Destroy(objid)
-- obj:Destroy() 对象的也可以直接调用Destroy删除
end
GetObjectPrefab
参数及类型:
objId:number对象id(掉落物,投掷物,生物可用)
返回值及类型:
ret:number,string预制id
objtype:number对象类型
该方法的主要作用: 获取对象的预制id
具体使用案例如下:
lua
local ret,objtype = GameObject:GetObjectPrefab(objId)
Last updated: 2025/12/5 14:23
Pager
Previous page
世界模块管理接口 World
Next page
角色模块管理接口 Actor