道具接口:Item
彼得兔
更新时间: 2023-04-26 10:26:18
继承自 Actor具体函数名及描述如下:
序号 函数名 函数描述
1 getItemName(...) 获取道具名称
2 getItemId(...) 获取actor对应的道具ID,如球类等
3 getDropItemNum(...) 获取掉落物数量
4 randomItemID(...)
获取随机道具id
5 randomProjectileID(...)
获取随机投掷物id
6 getItemDesc(...)
获取道具类型描述
7 GetAttr(...)
获取道具属性
8 playAct(...)
微缩模型的掉落物播放动画
getItemName
参数及类型:itemid:number
返回值及类型:ErrorCode.OK
name:string
该方法的主要作用:获取道具名称具体使用案例如下:
--获取id为1的物品的名称,参数1就是需要获取名称的物品id
local result,name=Item:getItemName(1)
--在聊天框显示
Chat:sendSystemMsg("id为1的物品的名字是:"..name)
Lua
getItemId
参数及类型:objid:number
返回值及类型:ErrorCode.OK
itemid:number
该方法的主要作用:获取actor对应的道具ID,如球类等具体使用案例如下:
--每当有玩家做动画表情,聊天框显示房主周围10格内其中一个掉落物的id
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--获取房主的坐标
local result,x,y,z=Player:getPosition(0)
--获取房主周围10格内的掉落物数量和列表
local result2,num,objids=World:getActorsByBox(3,x-10,y-10,z-10,x+10,y+10,z+10)
if num>0 then--如果存在掉落物
--获取掉落物列表中的第一个物品的id
local result3,itemid=Item:getItemId(objids[1])
--在聊天框显示
Chat:sendSystemMsg("附近10格发现掉落物品!其中一个物品id为"..itemid)
else--如果不存在掉落物
--在聊天框显示
Chat:sendSystemMsg("附近10格没有发现掉落物品!")
end
end
--注册动画表情监听器,当玩家做动画表情时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
Lua
getDropItemNum
参数及类型:objid:number
返回值及类型:ErrorCode.OK
itemnum:number
该方法的主要作用:获取掉落物数量具体使用案例如下:
--每当有玩家做动画表情,聊天框显示房主周围10格内其中一个掉落物的堆叠数量
--当玩家做动画表情时执行此函数
local function Player_PlayAction(event)
--获取房主的坐标
local result,x,y,z=Player:getPosition(0)
--获取房主周围10格内的掉落物数量和列表
local result2,num,objids=World:getActorsByBox(3,x-10,y-10,z-10,x+10,y+10,z+10)
if num>0 then--如果存在掉落物
--获取掉落物列表中的第一个物品的堆叠数量
local result3,itemnum=Item:getDropItemNum(objids[1])
--在聊天框显示
Chat:sendSystemMsg("附近10格发现掉落物品!其中一种物品有"..itemnum.."个堆叠在了一起")
else--如果不存在掉落物
--在聊天框显示
Chat:sendSystemMsg("附近10格没有发现掉落物品!")
end
end
--注册动画表情监听器,当玩家做动画表情时执行上面的函数
ScriptSupportEvent:registerEvent([=[Player.PlayAction]=],Player_PlayAction)
Lua
randomItemID
参数及类型:
无
返回值及类型:
ErrorCode.OK
itemid:number 随机道具id
该方法的主要作用:获取随机道具id
具体使用案例如下:
local result,blockid = Item:randomItemID()
Lua
randomProjectileID
参数及类型:
无
返回值及类型:
ErrorCode.OK
itemid:number 随机投掷物id
该方法的主要作用:获取随机投掷物id
具体使用案例如下:
local result,itemid = Item:randomProjectileID()
Lua
getItemDesc
参数及类型:
itemid:number道具类型ID
返回值及类型:
ErrorCode.OK
desc:number 道具类型描述
该方法的主要作用:获取道具类型描述
具体使用案例如下:
local result,desc = Item:getItemDesc(itemid)
Lua
GetAttr
参数及类型:
itemid:number道具类型ID
attr:number道具属性枚举(ITEMATTR)
返回值及类型:
ErrorCode.OK
value:number 属性值
该方法的主要作用:获取道具属性
具体使用案例如下:
local result,value = GetAttr(itemid,ITEMATTR.ATTACK)
Lua
playAct
参数及类型:
objid:number掉落物objid
animid:number动作ID
playmode:number播放模式(ANIMMODE)
返回值及类型:
ErrorCode.OK
该方法的主要作用:掉落物播放动画
具体使用案例如下:
local result = Item:playAct(objid,12,ITEMATTR.ATTACK) --指定掉落物循环播放跑动画
Lua