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

Check

简介

Trigger对象的check()方法用于检测当前触发器是否应该触发回调函数。当所有绑定的条件都为真时,该方法返回true

语法

trigger.check()

返回值类型

Boolean

参数

该方法不接受任何参数。

使用示例

// 创建一个Trigger对象
var trigger = new yuka.Trigger();

// 绑定一个"键盘按下"事件的触发条件
trigger.bindCondition(function() {
    return yuka.Keyboard.isKeyDown("Enter");
});

// 绑定另外一个触发条件
trigger.bindCondition(function() {
    return yuka.Mouse.isButtonPressed(yuka.MouseButton.LEFT);
});

// 绑定回调函数
trigger.bindAction(function() {
    alert("回调函数被触发!");
});

// 检测触发条件是否都为真
if (trigger.check()) {
    // 执行回调函数
    trigger.execute();
}

异常

该方法不会抛出异常。

注意事项

确保在绑定回调函数之前,已经为该触发器绑定了至少一个触发条件,否则check()方法将始终返回false。此外,应在执行其他操作之前调用check()方法,以避免错误的触发回调函数。