LlFleeFrom
| 首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
| 函数名 |
|---|
| Function: llFleeFrom( vector position, float distance, list options ); |
| 参数: vector position – position in region coordinates from which to flee.
float distance – Distance in meters to flee from position. list options – No options available at this time. |
| 返回值:Directs a character to keep a specific distance from a specific position in the region or adjacent regions. |
| 注意事项 |
|---|
| Must use llCreateCharacter or script won't compile.
The position to flee from must be near the nav mesh; otherwise, this behavior will fail and trigger path update with PU_FAILURE_INVALID_GOAL. If you want to avoid an agent or object as per the example below, it's much more elegant and less sim resource intensive to use llEvade instead. |
| 示例 |
|---|
示例1
vector last_touched_pos;
key last_touched_key;
default
{
state_entry()
{
llCreateCharacter([CHARACTER_DESIRED_SPEED, 50.0]);
}
touch_start(integer total_number)
{
last_touched_key = llDetectedKey(0);
last_touched_pos = llDetectedPos(0);
llFleeFrom(last_touched_pos, 10, []);
llSetTimerEvent(0.2);
}
timer()
{
vector last_touched_pos_now = llList2Vector(llGetObjectDetails(last_touched_key, [OBJECT_POS]), 0);
if ( llVecDist(last_touched_pos, last_touched_pos_now) > 1 )
{
last_touched_pos = last_touched_pos_now;
llFleeFrom(last_touched_pos, 10, []);
}
}
}
|
| 相关函数 |
|---|
| llCreateCharacter |
| 相关事件 |
|---|
| path_update |