| API说明—物体属性 |
● 获得执行脚本的物体的id
● 向指定物体添加一个自定义属性
● 获取指定物体的自定义属性值
● 修改指定物体的自定义属性值
● 删除指定物体的指定自定义属性
● 获得指定物体的朝向
● 获取指定物体的坐标
● 获得执行脚本的物体的当前坐标
● 获取指定物体的旋转轴
● 获取指定物体的旋转速度
● 获得指定物体的名称
● 获得指定物体的速率
● 获得指定物体的alpha值
● 获得物体的贴图
获得执行脚本的物体的id
函数:
int uGetItemId();
返回值:
执行脚本的物体id。
Eg:
local itemID = uGetItemId();
uPrintf(itemID);
--将执行脚本的物体id赋值给变量id,然后输出。
向指定物体添加一个自定义属性
函数:
int uAddItemProperty(name,value,itemId);
参数:
(1) name:字符串,自定义属性的名称。
(2) value:字符串,自定义属性的值。
(3) itemId:字符串,指定物体的Id,如果不填的话则默认指定物体就是执行脚本的物体。
返回值:
详见5.4返回值类型。
备注:
当物体已有某个属性名时,继续添加相同的属性名相当于修改该属性名对应的属性值。
Eg:
(1) uAddItemProperty("等级","100");
--给执行脚本的物体添加一个自定义属性,属性名为“等级”,属性值为“100”。
(2) uAddItemProperty("等级",100, "2251799816559832");
--给id为“2251799816559832”的物体添加一个自定义属性,属性名为“等级”,属性值为“100”。
获取指定物体的自定义属性值
函数:
string uGetItemProperty(name,itemId);
参数:
(1) name:字符串,需要获取的自定义属性名称。
(2) itemId:字符串,指定物体的Id,如果不填的话则默认指定物体就是执行脚本的物体。
返回值:
自定义属性值。
备注:
当目标物体不存在此属性,或超出脚本api作用范围时,返回值为一个空的字符串:““。
Eg:
(1) uGetItemProperty("等级");
--获取执行脚本物体的自定义属性值,属性名为“等级”。
(2) uGetItemProperty("等级","2251799816559832");
--获取id为“2251799816559832”的物体的自定义属性值,属性名为“等级”。
修改指定物体的自定义属性值
函数:
int uSetItemProperty(name,value,itemId);
参数:
(1) name:字符串,自定义属性的名称。
(2) value:字符串,自定义属性的值。
(3) itemId:字符串,指定物体的Id,如果不填的话则默认指定物体就是执行脚本的物体。
返回值:
详见5.4返回值类型。
备注:
此api功能和“向指定物体添加一个自定义属性”的部分功能相同。
Eg:
(1) uSetItemProperty("等级","120");
--修改执行脚本物体的自定义属性值,属性名为“等级”,修改值为“120”。
(2) uSetItemProperty("等级","120","2251799816559832");
--修改id为“2251799816559832”的物体的自定义属性值,属性名为“等级”,修改值为“120”。
删除指定物体的指定自定义属性
函数:
int uDeleteItemProperty(name,itemId);
参数:
(1) name:字符串,自定义属性的名称。
(2) itemId:字符串,指定物体的Id,如果不填的话则默认指定物体就是执行脚本的物体。
返回值:
详见5.4返回值类型。
Eg:
(1) uDeleteItemProperty("等级");
--删除执行脚本物体的自定义属性值,属性名为“等级”。
(2) uDeleteItemProperty("等级","2251799816559832");
--删除id为“2251799816559832”的物体的自定义属性值,属性名为“等级”。
获得指定物体的朝向
函数:
G3D::Vector3 uGetItemOrient(itemId)
参数:
itemId:字符串,指定物体的Id。
返回值:
(1) uWorld三维世界坐标系的设定参照API预备说明。
(2) 指定物体沿uWorld三维坐标系旋转后的朝向,单位:度。
备注:
当目标物体不存在,或超出脚本api作用范围时,返回(0,0,0)。
Eg:
local orient = uGetItemOrient(uGetItemId());
uPrintf(orient);
--将脚本所在物体的当前朝向赋值给orient,然后输出。
获取指定物体的坐标
函数:
G3D::Vector3 uGetItemPos(itemId);
参数:
itemId:字符串,指定物体的Id。
返回值:
指定物体的坐标。
备注:
当目标物体不存在,或超出脚本api作用范围时,返回(0,0,0)。
Eg:
local itemposition = uGetItemPos("2251799816559832");
uPrintf(itemposition);
--将物体id为“2251799816559832”的物体的所在位置赋值给变量“itemposition”,然后输出。
获得执行脚本的物体的当前坐标
函数:
G3D::Vector3 uGetDefaultItemPos();
返回值:
执行脚本的物体的坐标。
备注:
当执行脚本的物体被人物装备时,返回值为人物当前坐标。
Eg:
local itemposition = uGetDefaultItemPos();
uPrintf(itemposition);
--将执行脚本的物体的所在位置赋值给变量“itemposition”,然后输出。
获取指定物体的旋转轴
函数:
G3D::Vector3 uGetItemRotateAxis(itemId);
参数:
itemId:字符串,指定物体的Id。如不填则默认为脚本所在物体。
返回值:
指定物体的旋转轴,为一个三维矢量。
备注:
当目标物体不存在,或超出脚本api作用范围时,或目标物体未旋转,返回(0,0,0)。
Eg:
local origen=uGetItemRotateAxis();
uPrintf(origen.x..”|”.. origen.y..”|”.. origen.z);
--获得脚本所在物体的旋转轴,将其赋值给origen,然后输出。
获取指定物体的旋转速度
函数:
float uGetItemRotateSpeed(itemId);
参数:
itemId:字符串,指定物体的Id。如不填则默认为脚本所在物体。
返回值:
指定物体的旋转速度。
备注:
当目标物体不存在,或超出脚本api作用范围时,或目标物体未旋转,返回0。
Eg:
local speed= uGetItemRotateSpeed(itemId);
uPrintf(speed);
--获得脚本所在物体的旋转速度,将其赋值给speed,然后输出。
获得指定物体的名称
函数:
string uGetItemName(itemId);
参数:
itemId:字符串,指定物体的Id。
返回值:
指定物体的名称。
备注:
当目标物体不存在,或超出脚本api作用范围时,返回值为一个空的字符串:““。
Eg:
local itemname = uGetItemName("2251799816559832");
uPrintf(itemname);
--将物体id为“2251799816559832”的物体的名称赋值给变量“itemposition”,然后输出。
获得指定物体的速率
函数:
float uGetItemSpeed(itemId);
参数:
itemId:字符串,指定物体的Id。
返回值:
指定物体的速率。
备注:
当目标物体不存在,或超出脚本api作用范围时,返回值为0。
Eg:
local itemspeed = uGetItemSpeed("2251799816559832");
uPrintf(itemspeed);
--将物体id为“2251799816559832”的物体的速率赋值给变量“itemspeed”,然后输出。
获得指定物体的alpha值
函数:
float uGetItemAlpha(itemId);
参数:
itemId:字符串,指定物体的Id。
返回值:
指定物体的alpha值。
备注:
(1) 当目标物体不存在,或超出脚本api作用范围时,返回值为0。
(2) 此api只针对制造工具生产的物体有效。
Eg:
local itemalpha = uGetItemAlpha(" 2251799816559832");
uPrintf(itemalpha);
--将物体id为“2251799816559832”的物体的alpha值赋值给变量“itemalpha”,然后输出。
获得物体的贴图
函数:
string uGetItemTexture(itemId);
参数:
itemId:字符串,指定物体的Id。
返回值:
指定物体的贴图路径,该路径指用户将贴图上传至资源库后的路径,可在资源库界面查到。
备注:
(1) 当目标物体不存在,或超出脚本api作用范围时,返回值为一个空的字符串:““。
(2) 此api只针对制造工具生产的物体有效。
Eg:
local itemtex = uGetItemTexture("2251799816559832");
uPrintf(itemtex);
--将物体id为“2251799816559832”的物体的alpha值赋值给变量“itemtex”,然后输出。