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

fromJSON

该方法是Yuka trigger类中用于从JSON对象反序列化实例的方法。它接收一个以JSON格式编写的对象,然后创建并返回一个新的触发器实例。

语法

Trigger.fromJSON( json )

参数

  • json: Object,需要反序列化的JSON对象。

返回值

  • 一个新的 Trigger 实例。

示例

const json = `
    {
        "name": "trigger_1",
        "enabled": true,
        "delay": 500 
    }
`;

const trigger = Trigger.fromJSON(JSON.parse(json));
console.log(trigger.name);      // "trigger_1"
console.log(trigger.enabled);   // true
console.log(trigger.delay);     // 500

JSON格式

一个完整的 Trigger 对象需要以下属性:

  • nameString):触发器的名称。
  • enabledBoolean):判断触发器是否启用。
  • delayNumber):触发器的延迟时间(以毫秒为单位)。

以下是一个完整的 Trigger JSON格式的示例:

{
  "name": "trigger_1",
  "enabled": true,
  "delay": 500
}

如果您需要指定更多的触发器选项,可以查看 Trigger 类的构造函数或使用 set() 方法进行配置。

注意事项

  • 如果传递给该方法的参数不是合法的JSON字符串或者不包含所有必须的属性,则该方法将抛出异常。

  • 反序列化的 Trigger 实例不会保留在 Triggers 类的实例列表中。如果您需要将其添加到列表中,则需要手动调用 Triggers.add() 方法。

  • 如果您需要将 Trigger 实例序列化为JSON字符串,则可以使用 JSON.stringify() 方法。