target 是 Yuka js 库中 Behavior 的一个属性,用于确定该 Behavior 将应用于哪些实体。
target 的语法如下:
behavior.target = 'entitySelector';
其中,behavior
是 Behavior 实例,entitySelector
是一个用于选择实体的字符串,可以是 CSS 选择器、实体 ID 或实体名称。
entitySelector
参数支持以下三种类型的取值:
'#player'
或 '.enemy'
。123
。'player'
或 ['enemy1', 'enemy2']
。实体名称可以是 Behavior 的第二个参数 options
中指定的名称,也可以是实体自己的名称属性(默认为 'Entity'
)。import { Behavior } from 'yuka';
// 定义一个 Behavior,选择 ID 为 123 的实体
class MyBehavior extends Behavior {
constructor() {
super();
this.target = 123;
}
}
// 定义一个实体,ID 为 123
class Enemy {
constructor() {
this.id = 123;
}
}
// 使用 MyBehavior 应用于 Enemy 实体
const enemy = new Enemy();
const behavior = new MyBehavior();
behavior.apply(enemy);
import { Behavior } from 'yuka';
// 定义一个 Behavior,选择名称为 'player' 的实体
class MyBehavior extends Behavior {
constructor() {
super();
this.target = 'player';
}
}
// 定义一个实体,名称为 'player'
class Player {
constructor() {
this.name = 'player';
}
}
// 使用 MyBehavior 应用于 Player 实体
const player = new Player();
const behavior = new MyBehavior({ owner: player });
behavior.apply(player);