需求:在Laya开发时,常常没法移动相机来观察场内的环境,故制作一个移动相机的脚本来是实现此功能,目前先使用键盘后续会添加鼠标控制移动旋转等功能。
onEnable(){
this.camera = new Laya.Camera(0, 0.1, 100);
this._tempVector3 = new Laya.Vector3(0, 0, 0);
this.KeyBoardManager = Laya.KeyBoardManager;
Laya.timer.frameLoop(2, this, this.onUpdate);
}
onUpdate(){
this.KeyBoardManager.hasKeyDown(87) && this.moveForward(-5 * 0.1);//W
this.KeyBoardManager.hasKeyDown(83) && this.moveForward(5 * 0.1);//S
this.KeyBoardManager.hasKeyDown(65) && this.moveRight(-5 * 0.1);//A
this.KeyBoardManager.hasKeyDown(68) && this.moveRight(5 * 0.1);//D
}
moveForward(distance) {
this._tempVector3.x = this._tempVector3.y = 0;
this._tempVector3.z += distance;
this.mainCamera.transform.translate(this._tempVector3);
}
/**
* 向右移动。
* @param distance 移动距离。
*/
moveRight(distance){
this._tempVector3.y = this._tempVector3.z = 0;
this._tempVector3.x += distance;
this.mainCamera.transform.translate(this._tempVector3);
}