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

entity

entity是MemoryRecord库中的一个关键概念,它代表了一个实体对象。在Yuka js中,entity被用来管理游戏中的角色、道具、场景等各种元素。

概述

entity是一个抽象的概念,它没有具体的实现。在Yuka js中,我们可以通过继承Entity类来创建一个具体的实体对象。Entity类提供了一些基础的方法和属性,例如:

  • uuid:entity的唯一标识符,用于区分不同的entity实例。
  • isActive:entity当前是否处于激活状态,可通过activate()deactivate()方法来更改状态。
  • entityManager:entity所在的entityManager对象。

除此之外,我们还可以在自定义的entity子类中添加各种自定义的属性和方法,以便实现不同的功能。

使用方法

要创建一个新的entity,我们需要继承Entity类:

import { Entity } from 'yuka';

class MyEntity extends Entity {
  constructor() {
    super();

    // 添加自定义的属性和方法
    this.myProperty = 'hello';
  }
}

可以通过以下方式来访问entity中的属性和方法:

const myEntity = new MyEntity();
myEntity.myProperty;

如果需要激活或禁用entity,可以分别调用activate()deactivate()方法:

myEntity.activate();
myEntity.isActive; // true

myEntity.deactivate();
myEntity.isActive; // false

总结

entity是Yuka js库中管理游戏对象的一种基础方式,通过继承Entity类可以轻松创建自定义的entity对象,实现游戏中各种元素的管理。在实际使用中,我们可以添加自定义的属性和方法,并通过activate()deactivate()方法来控制entity的激活状态。