脚本进阶教程 位置导航:首页 > 资料中心 > 脚本进阶教程
   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”,然后输出。

.
公司介绍  |  由我博客  |  招聘信息  |  商务合作 |  媒体合作  |  联系我们  |  新浪微博  |  开心多尼
优万科技(北京)有限公司 版权所有 京ICP证08336号 ISBN 978-7-900648-32-7 《网络文化经营许可证》编号:文网文[2009]076号 新出网证(京)字099号
Copyright (C)2007-2010 UOneNet CO., LTD. All Rights Reserved.