“LlGetRot”的版本间的差异
(创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: rotation llGetRot( ); |参数= 参数: |返回值= 返…”) |
|||
第16行: | 第16行: | ||
|示例= | |示例= | ||
<pre> | <pre> | ||
− | + | //——旋转一个物体,使其面向最近的基本方向(N,E,S,W) | |
− | + | //——假设构建与面对的根对象对齐 | |
default{ | default{ | ||
第27行: | 第27行: | ||
touch_start( integer vIntTouches ) | touch_start( integer vIntTouches ) | ||
{ | { | ||
− | //-- | + | //-- 把旋转转换成x/y/z弧度 |
vector vRadBase = llRot2Euler( llGetRot() ); | vector vRadBase = llRot2Euler( llGetRot() ); | ||
− | //-- | + | //--将z轴旋转到最近的90度(PI_BY_TWO = 90度弧度) |
llSetRot( llEuler2Rot( <0.0, 0.0, llRound( vRadBase.z / PI_BY_TWO ) * PI_BY_TWO > ) ); | llSetRot( llEuler2Rot( <0.0, 0.0, llRound( vRadBase.z / PI_BY_TWO ) * PI_BY_TWO > ) ); | ||
} | } |
2020年7月1日 (三) 08:56的最新版本
首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
函数名 |
---|
Function: rotation llGetRot( ); |
参数: |
返回值:返回一个旋转,该旋转是基本物体相对于区域轴的旋转。 |
注意事项 |
---|
当从附加对象的根调用llGetRot时,错误地报告了化身旋转,相反,对根基本物体使用llGetLocalRot
llGetRot将会为坐着的或鼠标看的avatar返回一个准确的朝向,但是当被附加的基本物体调用时只能返回一个粗略的方向。 在附件的子基本物体中调用时,只有当对象的根被附加到ATTACH_AVATAR_CENTER(在ZERO_ROTATION)时,报告的旋转才会在视觉上正确。移动附件的根目录或更改附着点不会影响所报告的旋转。化身动画是不可见的模拟器,所以它也不会影响报告的旋转。请参阅 Single or Root Prims vs Linked Prims vs Attachments. |
示例 |
---|
//——旋转一个物体,使其面向最近的基本方向(N,E,S,W) //——假设构建与面对的根对象对齐 default{ state_entry() { llSay( 0, "Rotate me in edit, then touch to make me face the nearest compass point" ); } touch_start( integer vIntTouches ) { //-- 把旋转转换成x/y/z弧度 vector vRadBase = llRot2Euler( llGetRot() ); //--将z轴旋转到最近的90度(PI_BY_TWO = 90度弧度) llSetRot( llEuler2Rot( <0.0, 0.0, llRound( vRadBase.z / PI_BY_TWO ) * PI_BY_TWO > ) ); } } |
相关函数 |
---|
llGetLocalRot |
相关事件 |
---|
无 |