“LlDetectedRot”的版本间的差异

来自人工智能助力教育知识百科
跳转至: 导航搜索
(创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: rotation llDetectedRot( integer number ); |参数= 参数…”)
 
Qmf讨论 | 贡献
 
第4行: 第4行:
 
{{函数详情
 
{{函数详情
 
|函数名 = Function: rotation llDetectedRot( integer number );
 
|函数名 = Function: rotation llDetectedRot( integer number );
|参数= 参数:integer number–Index of detection information number does not support negative indexes.
+
|参数= 参数:检测信息号的整数索引不支持负索引。
|返回值= 返回值:Returns the rotation of detected object number.
+
|返回值= 返回值:返回检测到的对象号的旋转。
  
  
 
|注意事项=
 
|注意事项=
 
注意事项
 
注意事项
*If number is out of bounds this function returns <0.0, 0.0, 0.0, 1.0> and the script continues to execute without an error message.
+
*如果数字超出界限,这个函数返回<0.0,0.0,0.0,1.0>,脚本继续执行,没有错误消息。
*Events that enable the llDetected* functions always return at least one detected item.
+
*启用lldetect *函数的事件总是返回至少一个检测到的项。
*Detection events are not raised if there is nothing detected.[1]
+
*如果没有检测到任何东西,则不引发检测事件。
*The detection event's items detected parameter is initially never less than 1.[2]
+
*检测事件的项检测参数最初不小于1。
  
  

2020年5月18日 (一) 11:03的最新版本

Template:Needs Translation/


函数名
Function: rotation llDetectedRot( integer number );
参数:检测信息号的整数索引不支持负索引。
返回值:返回检测到的对象号的旋转。
注意事项
注意事项
  • 如果数字超出界限,这个函数返回<0.0,0.0,0.0,1.0>,脚本继续执行,没有错误消息。
  • 启用lldetect *函数的事件总是返回至少一个检测到的项。
  • 如果没有检测到任何东西,则不引发检测事件。
  • 检测事件的项检测参数最初不小于1。
示例
//--// get compass facing of Avatar that touches this object //--//
 
 //-- list of compass directions starting at East, rotated clockwise
list gLstCompassPoints = [ "East", "NorthEast", "North", "NorthWest", "West", "SouthWest", "South", "SouthEast" ];
 
 //-- convert rotation to z-axis compass direction
string CompassDirection( rotation rRotBase )
{
  integer iCountCompassPoints = llGetListLength(gLstCompassPoints);
   //-- convert rotation to a direction
  vector vDirection = <0.0, 1.0, 0.0> / rRotBase;
   //-- take the direction and determine the z rotation
  float fAngle = llAtan2(vDirection.x, vDirection.y);
   //-- take the angle and find the compass point
  integer iCompassPoint = llRound(fAngle * iCountCompassPoints / TWO_PI);
   //-- convert to string
  return llList2String( gLstCompassPoints, iCompassPoint );
}
 
default{
  state_entry()
  {
    llSay( 0, "Touch me to get your compass facing" );
  }
 
  touch_start( integer vIntTouchCount )
  {
    integer vIntCounter = 0;
    do
    {
      llSay( 0,
             llDetectedName( vIntCounter )
             + " is facing "
              //-- next line gets avatar rotation and converts to compass direction
             + CompassDirection( llDetectedRot( vIntCounter ) ) );
    } while ( ++vIntCounter < vIntTouchCount );
  }
}
相关函数
相关事件