{ "code": "var Vector3 = Laya.Vector3;\r\nimport { GameTool } from \"../Util/GameTool\";\r\nimport { MathTool } from \"../Util/MathTool\";\r\nimport { MainRoleManager } from \"../Manager/MainRoleManager\";\r\nimport { PlaneManager } from \"../Manager/PlaneManager\";\r\nimport { CameraManager } from \"../Manager/CameraManager\";\r\nexport var CameraState;\r\n(function (CameraState) {\r\n CameraState[CameraState[\"game\"] = 1] = \"game\";\r\n CameraState[CameraState[\"jump\"] = 2] = \"jump\";\r\n})(CameraState || (CameraState = {}));\r\nexport class Camera extends Laya.Script3D {\r\n constructor() {\r\n super();\r\n this.arg = 0.1;\r\n this.startShake = false;\r\n this.seconds = 0;\r\n this.started = false;\r\n this.quake = 0.3;\r\n this._position = new Laya.Vector3();\r\n this._outPos = new Laya.Vector3();\r\n this.scaleDelta = 0;\r\n this.scale = new Laya.Vector3(0.1, 0.1, 0.1);\r\n this.canmovegame = false;\r\n }\r\n onAwake() {\r\n this.selfObj = this.owner;\r\n this._tran = this.selfObj.transform;\r\n this.nowP = MathTool.VecZero;\r\n this.nowR = MathTool.VecZero;\r\n this.dis = MathTool.VecZero;\r\n this.temp = MathTool.VecZero;\r\n }\r\n Init() {\r\n let t = CameraManager.Instance.startPosTra;\r\n this._tran.position = t.position.clone();\r\n this._tran.localRotationEuler = MathTool.SpToCam(t.localRotationEuler.clone());\r\n this.dis.x = MainRoleManager.Instance.playerStartTra.position.x - this._tran.position.x;\r\n this.dis.y = MainRoleManager.Instance.playerStartTra.position.y - this._tran.position.y;\r\n this.dis.z = MainRoleManager.Instance.playerStartTra.position.z - this._tran.position.z;\r\n }\r\n StopMove() {\r\n Laya.timer.clear(this, this.JumpCameraMove);\r\n }\r\n JumpCameraMove() {\r\n let p, r;\r\n if (this.arg == 1) {\r\n p = this._transform.position;\r\n r = MathTool.SpToCam(this._transform.localRotationEuler.clone());\r\n }\r\n else {\r\n p = MathTool.MixVector3(this._tran.position.clone(), this._transform.position, this.arg, this.nowP);\r\n r = MathTool.MixVector3(this._tran.localRotationEuler, MathTool.SpToCam(this._transform.localRotationEuler.clone()), this.arg, this.nowR);\r\n }\r\n this._tran.position = p;\r\n this._tran.localRotationEuler = r;\r\n }\r\n CameraAction(type, arg) {\r\n this.arg = arg;\r\n switch (type) {\r\n case CameraState.game:\r\n this._transform = MainRoleManager.Instance.playerTra;\r\n if (!this._transform)\r\n return;\r\n let t = CameraManager.Instance.startPosTra;\r\n this._tran.position = t.position.clone();\r\n this._tran.localRotationEuler = MathTool.SpToCam(t.localRotationEuler.clone());\r\n this.canmovegame = true;\r\n break;\r\n case CameraState.jump:\r\n this._transform = PlaneManager.Instance.jumpCamTra;\r\n if (!this._transform)\r\n return;\r\n this.canmovegame = false;\r\n Laya.timer.frameLoop(1, this, this.JumpCameraMove);\r\n Laya.timer.once(3000, this, this.StopMove);\r\n break;\r\n }\r\n }\r\n onComplete() {\r\n var grid = this._scene.addChild(Laya.Loader.getRes(\"res/threeDimen/staticModel/grid/plane.lh\"));\r\n grid.getChildAt(0).meshRenderer.receiveShadow = true;\r\n grid.getChildAt(0).layer = 5;\r\n var staticLayaMonkey = new Laya.MeshSprite3D(Laya.Loader.getRes(\"res/threeDimen/skinModel/LayaMonkey/Assets/LayaMonkey/LayaMonkey-LayaMonkey.lm\"));\r\n this._scene.addChild(staticLayaMonkey);\r\n staticLayaMonkey.meshRenderer.material = Laya.Loader.getRes(\"res/threeDimen/skinModel/LayaMonkey/Assets/LayaMonkey/Materials/T_Diffuse.lmat\");\r\n staticLayaMonkey.layer = 1;\r\n staticLayaMonkey.transform.position = new Laya.Vector3(0, 0, 0.5);\r\n staticLayaMonkey.transform.localScale = new Laya.Vector3(0.3, 0.3, 0.3);\r\n staticLayaMonkey.transform.rotation = new Laya.Quaternion(0.7071068, 0, 0, -0.7071067);\r\n staticLayaMonkey.meshRenderer.castShadow = true;\r\n var layaMonkey_clone1 = Laya.Sprite3D.instantiate(staticLayaMonkey, this._scene, false, new Laya.Vector3(0.0, 0, 0.5));\r\n var layaMonkey_clone2 = Laya.Sprite3D.instantiate(staticLayaMonkey, this._scene, false, new Laya.Vector3(0.0, 0, 0.5));\r\n var layaMonkey_clone3 = Laya.Sprite3D.instantiate(staticLayaMonkey, this._scene, false, new Laya.Vector3(0.0, 0, 0.5));\r\n layaMonkey_clone1.layer = 2;\r\n layaMonkey_clone2.layer = 3;\r\n layaMonkey_clone3.layer = 0;\r\n layaMonkey_clone1.transform.translate(new Laya.Vector3(1.5, 0, 0.0));\r\n layaMonkey_clone2.transform.translate(new Laya.Vector3(-1.5, 0, 0.0));\r\n layaMonkey_clone3.transform.translate(new Laya.Vector3(2.5, 0, 0.0));\r\n layaMonkey_clone2.transform.rotate(new Laya.Vector3(0, 60, 0), false, false);\r\n var scale = new Laya.Vector3(0.1, 0.1, 0.1);\r\n layaMonkey_clone3.transform.localScale = scale;\r\n }\r\n onDestroy() {\r\n Laya.timer.clearAll(this);\r\n }\r\n ShakeFor(a, b) {\r\n this.camPOS = this.selfObj.transform.position.clone();\r\n this.seconds = a;\r\n this.started = true;\r\n this.startShake = true;\r\n this.quake = b;\r\n }\r\n Shake() {\r\n var x = GameTool.random_1to1() * this.quake;\r\n var y = GameTool.random_1to1() * this.quake;\r\n var z = GameTool.random_1to1() * this.quake;\r\n var temp = new Vector3(this.camPOS.x + Math.random() * this.quake, this.camPOS.y + Math.random() * this.quake, this.camPOS.z + Math.random() * this.quake);\r\n this.selfObj.transform.position = temp;\r\n }\r\n onLateUpdate() {\r\n if (this.startShake) {\r\n this.Shake();\r\n }\r\n if (this.started) {\r\n this.started = false;\r\n Laya.timer.once(this.seconds * 1000, this, () => {\r\n this.startShake = false;\r\n this.selfObj.transform.position = this.camPOS;\r\n });\r\n }\r\n }\r\n animate() {\r\n this._position.x = Math.sin(this.scaleDelta += 0.01);\r\n this.layaMonkey3D.transform.position = this._position;\r\n this.layaMonkey3D.transform.scale = this.scale;\r\n this.camera.viewport.project(this.layaMonkey3D.transform.position, this.camera.projectionViewMatrix, this._outPos);\r\n this.layaMonkey2D.pos(this._outPos.x / Laya.stage.clientScaleX, this._outPos.y / Laya.stage.clientScaleY);\r\n }\r\n MoveGame(z) {\r\n if (!this.canmovegame)\r\n return;\r\n this.temp.z = z - this.dis.z;\r\n this._tran.localPositionZ = this.temp.z;\r\n }\r\n}\r\n//# sourceMappingURL=Camera.js.map", "references": [ "C:/Users/admin/Desktop/??/gungang/src/Util/GameTool.ts", "C:/Users/admin/Desktop/??/gungang/src/Util/MathTool.ts", "C:/Users/admin/Desktop/??/gungang/src/Game/DispatcherManager.ts", "C:/Users/admin/Desktop/??/gungang/src/Manager/MainRoleManager.ts", "C:/Users/admin/Desktop/??/gungang/src/Manager/PlaneManager.ts", "C:/Users/admin/Desktop/??/gungang/src/Manager/CameraManager.ts" ], "map": "{\"version\":3,\"file\":\"Camera.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/Game/Camera.ts\"],\"names\":[],\"mappings\":\"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\"}" }