查看“LlSitTarget”的源代码
←
LlSitTarget
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: llSitTarget( vector offset, rotation rot ); |参数= 参数: •矢量偏移–sit目标在局部原始坐标系中的附加位置。 •旋转旋转–相对于主旋转,sit目标的附加旋转。 如果偏移==<0.0,0.0,0.0>则移除sit目标。 |返回值= 返回值:设置prim的坐姿位置。坐姿位置是相对于prim的位置和旋转。 |注意事项=[[llSitTarget]]设置代理目标的位置(高级->字符->查看代理目标)。目标的位置基于rot和偏移。 |示例= 示例1 <pre> default { state_entry() { llSitTarget(<0.0, 0.0, 1.0>, ZERO_ROTATION); //The vector's components must not all be set to 0 for effect to take place. } } </pre> <pre> default //example with work-around for llSetTarget rot bug { //place in any prim large enough to sit on at any angle //click once to choose a place to sit, a second time to sit there touch_start(integer num) { vector pos=llDetectedTouchPos(0); //use touch to set sit target vector lft=llDetectedTouchBinormal(0); //use normals to rotate avatar to vector up=llDetectedTouchNormal(0); //sit upright rotation rot=llAxes2Rot(lft%up,lft,up)/llGetRot(); //rotate avatar to stand there vector siz=llGetAgentSize(llDetectedKey(0)); pos += 0.65*siz.z*up; //this places MY avatars feet close to the surface pos = (pos-llGetPos())/llGetRot(); //llSetTarget expects local co-ordinates if (rot!=ZERO_ROTATION) pos -=<0,0,0.4>; //here is the work around llSitTarget(pos,rot); llSetClickAction(CLICK_ACTION_SIT); //switch to sit for second click } changed(integer change) { if (llAvatarOnSitTarget()==NULL_KEY) //if they unsit, llSetClickAction(CLICK_ACTION_TOUCH); //go back to click mode } } </pre> |相关函数= [[llLinkSitTarget]] [[llSetSitText]] [[llAvatarOnSitTarget]] [[llAvatarOnLinkSitTarget]] [[llUnSit]] |相关事件=[[changed]] }}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlSitTarget
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息