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

forward

描述

GameEntity.forward() 是Yuka js库中用于使实体向前移动的方法。在 3D 游戏中,当需要让物体向前移动时,可以使用该方法。该方法的效果与将实体的位置添加一个方向向量所产生的效果相同。

语法

forward( delta ) {
  // ...
}

参数

  • delta : 一个数字,表示实体前进的距离。如果省略了该参数,则默认为1。

用法

import { GameEntity } from 'yuka';

const entity = new GameEntity();

entity.forward( 2 ); // 实体会朝着其当前方向前进2个单位

注意事项

请注意,GameEntity.forward() 不会自动向上移动。如果想要使实体在场景中向上移动,您需要调整实体的高度。

此外,在调用该函数之前,实体必须先计算出其方向。如果实体没有设置方向,它将不会移动。

示例

import { GameEntity } from 'yuka';

// 创建实体对象
const entity = new GameEntity();

// 设置实体的位置
entity.position.set( 0, 0, 0 );

// 设置实体的方向
entity.lookAt( 0, 0, -1 );

// 让实体向前移动2个单位
entity.forward( 2 );

console.log( `Entity position: ${entity.position.x.toFixed(2)}, ${entity.position.y.toFixed(2)}, ${entity.position.z.toFixed(2)}` );
// output: Entity position: 0.00, 0.00, -2.00

上述示例会创建一个实体对象,并将其沿着其当前方向向前移动两个单位。最后,它会将实体的新位置输出到控制台上。