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 |