我有这个游戏,我从屏幕的所有侧面产生敌人(图片供参考);我为敌人制作了一个函数,使其向玩家移动,如下所示:
问题是,对于所有敌人的生成(Z:0),敌人的旋转都是静态的;我想要做的是让敌人总是将它的头部(Z 轴)旋转给玩家。有什么想法我该怎么做?
///
//Speed - essential : true ?
let speed;
let enabled = false;
let phys;
function init() {
speed =0.5;
//let d = Math.sqrt( Math.0pow((enemy.x-playerPos.x), 2) + Math.pow((enemy.y-playerPos.y), 2) );
}
function update(dt) {
dt = 1 / 60.0; // fixed delta time
let enemy = this.entity().position();
let player = this.scene().find('Actor')[0];
let playerPos = player.worldPosition();
let d = new Vec3(
playerPos.x - enemy.x,
playerPos.y - enemy.y,
playerPos.z - enemy.z
)
const length = Math.hypot(d.x,d.y);
//var length = Math.sqrt( Math.pow((enemy.x-playerPos.x), 2) + Math.pow((enemy.y-playerPos.y), 2) ); //metoda lu eucler
let dirTowardsPlayer = new Vec3 (
d.x / length,
d.y / length,
d.z / length
)
this.entity().setPosition(
enemy.x + dt * dirTowardsPlayer.x * speed,
enemy.y + dt * dirTowardsPlayer.y * speed,
enemy.z + dt * dirTowardsPlayer.z * speed);
}
function signal(name, value) {
enabled = value;
}