AABB
AlignmentBehavior
ArriveBehavior
AStar
BFS
BoundingSphere
BVH
BVHNode
Cell
CellSpacePartitioning
CohesionBehavior
CompositeGoal
ConvexHull
Corridor
CostTable
DFS
Dijkstra
Edge
EntityManager
EvadeBehavior
EventDispatcher
Behavior
FollowPathBehavior
FuzzyAND
FuzzyCompositeTerm
FuzzyFAIRLY
FuzzyModule
FuzzyOR
FuzzyRule
FuzzySet
FuzzyTerm
FuzzyVariable
FuzzyVERY
GameEntity
Goal
GoalEvaluator
Graph
GraphUtils
HalfEdge
HeuristicPolicyDijkstra
HeuristicPolicyEuclid
HeuristicPolicyEuclidSquared
HeuristicPolicyManhattan
InterposeBehavior
LeftSCurveFuzzySet
LeftShoulderFuzzySet
LineSegment
Logger
MathUtils
Matrix3
Matrix4
MemoryRecord
MemorySystem
MeshGeometry
MessageDispatcher
MovingEntity
NavEdge
NavMesh
NavMeshLoader
NavNode
Node
NormalDistFuzzySet
OBB
ObstacleAvoidanceBehavior
OffsetPursuitBehavior
OnPathBehavior
Path
Plane
Polygon
Polyhedron
PriorityQueue
PursuitBehavior
Quaternion
Ray
RectangleTriggerRegion
Regular
RightSCurveFuzzySet
RightShoulderFuzzySet
SAT
SeekBehavior
SeparationBehavior
SingletonFuzzySet
Smoother
SphericalTriggerRegion
State
StateMachine
SteeringBehavior
SteeringManager
Task
TaskQueue
Telegram
Think
Time
TriangularFuzzySet
Trigger
TriggerRegion
Vector3
Vehicle
Version
WanderBehavior

execute

概述

execute是Yuka js库中一个非常重要的函数,其作用是指定一个任务(task),让任务执行器(task executor)执行这个任务。

语法

execute( task : function, delay : number ) : void
  • task:要执行的任务函数。
  • delay:可选参数。延迟多长时间后执行任务。默认值为0。

功能说明

execute函数的主要作用是让任务执行器执行一个指定的任务函数,并且可以设置延迟时间。执行器会根据设定的延迟时间和任务函数的执行时间来决定何时执行这个任务。

在Yukajs库中,任务通常是通过Task对象来实现的。执行器会自动调用任务对象中的函数,在合适的时候执行任务。如果任务中的函数返回一个布尔值,则执行器可以根据这个返回值决定是否执行下一个任务。

使用示例

import { execute } from 'yuka';

function printMessage( message ) {
  console.log( `Message: ${message}` );
}

function printDelayedMessage( message ) {
  console.log( `Delayed Message: ${message}` );
}

execute( () => printMessage( 'Hello World!' ) ); // 立即执行
execute( () => printDelayedMessage( 'Hello Delayed World!' ), 1000 ); // 延迟1000ms后执行

以上是一个简单的使用示例。我们通过execute函数分别执行了两个任务函数:printMessageprintDelayedMessage。前者会立即执行,而后者会在1000ms后执行。在执行器的帮助下,这两个任务函数会得到正确的执行顺序,避免了并发问题。

总结

execute函数是Yukajs库中用于执行任务的主要函数之一,通过这个函数可以让任务执行器按照指定的顺序执行各个任务,从而避免了并发问题和其他一些常见的任务执行问题。在实际开发中,可以通过这个函数实现各种各样的任务逻辑。