迷你世界UGC3.0脚本Wiki对象模块管理接口 GameObject

迷你世界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

相关推荐
不剪发的Tony老师1 小时前
SQLite 3.53.0版本发布,重要更新
数据库·sqlite
lzhdim1 小时前
SharpCompress:跨平台的 C# 压缩与解压库
开发语言·c#
Bczheng11 小时前
九.Berkeley DB数据库 序列化和钱包管理(1)
数据库
嘿嘿嘿x31 小时前
Linux记录过程
linux·开发语言
田梓燊1 小时前
2026/4/11 leetcode 3741
数据结构·算法·leetcode
cozil1 小时前
记录mysql创建数据库未指定字符集引发的问题及解决方法
数据库·mysql
默 语1 小时前
Records、Sealed Classes这些新特性:Java真的变简单了吗?
java·开发语言·python
架构师老Y1 小时前
013、数据库性能优化:索引、查询与连接池
数据库·python·oracle·性能优化·架构
止观止1 小时前
拥抱 ESNext:从 TC39 提案到生产环境中的现代 JS
开发语言·javascript·ecmascript·esnext
AC赳赳老秦1 小时前
OpenClaw数据库高效操作指南:MySQL/PostgreSQL批量处理与数据迁移实战
大数据·数据库·mysql·elasticsearch·postgresql·deepseek·openclaw