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

clampPoint

该方法用于将给定的点约束在一个指定的矩形区域内。如果该点已经在指定的矩形区域中,则返回原始点。否则,根据给定点与指定矩形区域的边缘的距离,返回一个最接近指定点的点。

语法

OBB.clampPoint(point, min, max);

参数

  • point:必需,一个包含 xy 坐标的对象。
  • min:必需,一个包含 xy 坐标的对象,指定矩形的左上角坐标。
  • max:必需,一个包含 xy 坐标的对象,指定矩形的右下角坐标。

返回值

  • 返回一个包含 xy 坐标的对象。如果 point 已经在指定的矩形区域内,则返回原始点。

示例

const point = { x: 5, y: 10 };
const min = { x: 0, y: 0 };
const max = { x: 10, y: 8 };

const result = OBB.clampPoint(point, min, max);

// result: { x: 5, y: 8 }

该示例中,clampPoint 方法将点 { x: 5, y: 10 } 约束在矩形 { x: 0, y: 0 }{ x: 10, y: 8 } 内,返回了一个最接近指定点的点 { x: 5, y: 8 }。因为该点的 y 坐标超出了指定的矩形范围,所以返回的点的 y 坐标被约束在了矩形的上边缘。