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

createGridLayout

createGridLayout是GraphUtils库中的一个函数,用于生成网格布局。

语法

createGridLayout(rows, cols, cellWidth, cellHeight, marginX, marginY, startX, startY)

参数

  • rows: 网格行数,必须是正整数。
  • cols: 网格列数,必须是正整数。
  • cellWidth: 每个网格单元的宽度,必须是正整数。
  • cellHeight: 每个网格单元的高度,必须是正整数。
  • marginX: 单元格横向间距,必须是正整数。默认为0。
  • marginY: 单元格纵向间距,必须是正整数。默认为0。
  • startX: 网格起始横坐标,必须是正整数。默认为0。
  • startY: 网格起始纵坐标,必须是正整数。默认为0。

返回值

返回一个数组,其中包含每个网格单元的坐标值,顺序为从左向右、从上向下。每个单元格坐标值是一个包含x、y两个属性的对象。

示例

const layout = createGridLayout(3, 3, 100, 100, 20, 10, 50, 50);
console.log(layout);

输出结果:

[
  {x: 50, y: 50},
  {x: 170, y: 50},
  {x: 290, y: 50},
  {x: 50, y: 160},
  {x: 170, y: 160},
  {x: 290, y: 160},
  {x: 50, y: 270},
  {x: 170, y: 270},
  {x: 290, y: 270},
]

在这个示例中,我们定义了一个3×3的网格布局,每个单元格的宽度和高度分别为100个像素,横向间距为20像素,纵向间距为10像素,起始坐标为(50, 50)。

函数返回了一个数组,包含了每个单元格的坐标值,依次为(50,50)、(170,50)、(290,50)、(50,160)、(170,160)、(290,160)、(50,270)、(170,270)和(290,270)。这些坐标值可以被用于在网格布局中放置图像、文本或任何其他元素。

注意事项

  • 参数必须是正整数,否则会抛出TypeError异常。
  • 如果不指定marginX和marginY,则默认为0。
  • 如果不指定startX和startY,则默认为0。