zhaochengyang пре 5 година
родитељ
комит
3759866102
37 измењених фајлова са 654 додато и 202 уклоњено
  1. 9 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/14b172a14b4ff02b66424c2076aafa1d6c6e58f2
  2. 10 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/2492fb108e484b12ed0e653e8c37abc4602b0ad3
  3. 5 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/25d7591ab289f51ea28f943c596a4eaf902a5d96
  4. 9 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/31f9fcaa2420b2a3e7da0d7bf7783f2bed9de968
  5. 5 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/4b04acffc5130412bc6f4b9c7831316777cbad49
  6. 5 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/6e512c72f356e396cbf253522fee40904d348bf5
  7. 5 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/7d94795dda8e891494bf167ffe1cdb35bd6ad0fd
  8. 5 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/84e0988369d84f0440d76986a78b45e5082a7a72
  9. 8 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/97e3ecf6839faea749f9d6da98f661eb384356e8
  10. 8 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/f9471b3a5ecac3c254c8d180a4cc8bc521659e48
  11. 0 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/types/cache/452bd4bb32109b4a65edcb5ded468bb77224e985
  12. 0 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/types/cache/67ad2864f9baadfb27c911023c93cb542a046d77
  13. 0 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/types/cache/de6347ad07fb413be85f91215d95b7d2af4fd8b6
  14. 0 0
      .rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/types/cache/ec22d91a4885b8854166e83dd2aaec81a83cb774
  15. 10 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/2492fb108e484b12ed0e653e8c37abc4602b0ad3
  16. 5 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/25d7591ab289f51ea28f943c596a4eaf902a5d96
  17. 9 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/31f9fcaa2420b2a3e7da0d7bf7783f2bed9de968
  18. 9 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/45cdba0f23408c381f1223b42cde2c883983cf3b
  19. 5 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/4b04acffc5130412bc6f4b9c7831316777cbad49
  20. 9 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/6ac7764dc36cc0ddeab93c358492316c52269131
  21. 5 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/6e512c72f356e396cbf253522fee40904d348bf5
  22. 5 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/7d94795dda8e891494bf167ffe1cdb35bd6ad0fd
  23. 5 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/84e0988369d84f0440d76986a78b45e5082a7a72
  24. 5 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/f2da217e33c75f4ca69faf8b847cc2e732b59ba5
  25. 8 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/f9471b3a5ecac3c254c8d180a4cc8bc521659e48
  26. 0 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/types/cache/452bd4bb32109b4a65edcb5ded468bb77224e985
  27. 0 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/types/cache/67ad2864f9baadfb27c911023c93cb542a046d77
  28. 0 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/types/cache/de6347ad07fb413be85f91215d95b7d2af4fd8b6
  29. 0 0
      .rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/types/cache/ec22d91a4885b8854166e83dd2aaec81a83cb774
  30. 1 0
      bin/index.js
  31. 255 169
      bin/js/bundle.js
  32. 1 1
      bin/js/bundle.js.map
  33. 3 3
      laya/.laya
  34. 190 29
      src/Game/PlayerControl.ts
  35. 56 0
      src/Game/Runner.ts
  36. 2 0
      src/Tools/AssetManager.ts
  37. 2 0
      src/View/LoadView.ts

Разлика између датотеке није приказан због своје велике величине
+ 9 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/14b172a14b4ff02b66424c2076aafa1d6c6e58f2


Разлика између датотеке није приказан због своје велике величине
+ 10 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/2492fb108e484b12ed0e653e8c37abc4602b0ad3


Разлика између датотеке није приказан због своје велике величине
+ 5 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/25d7591ab289f51ea28f943c596a4eaf902a5d96


Разлика између датотеке није приказан због своје велике величине
+ 9 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/31f9fcaa2420b2a3e7da0d7bf7783f2bed9de968


Разлика између датотеке није приказан због своје велике величине
+ 5 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/4b04acffc5130412bc6f4b9c7831316777cbad49


Разлика између датотеке није приказан због своје велике величине
+ 5 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/6e512c72f356e396cbf253522fee40904d348bf5


Разлика између датотеке није приказан због своје велике величине
+ 5 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/7d94795dda8e891494bf167ffe1cdb35bd6ad0fd


Разлика између датотеке није приказан због своје велике величине
+ 5 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/84e0988369d84f0440d76986a78b45e5082a7a72


Разлика између датотеке није приказан због своје велике величине
+ 8 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/97e3ecf6839faea749f9d6da98f661eb384356e8


Разлика између датотеке није приказан због своје велике величине
+ 8 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/code/cache/f9471b3a5ecac3c254c8d180a4cc8bc521659e48


+ 0 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/types/cache/452bd4bb32109b4a65edcb5ded468bb77224e985


+ 0 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/types/cache/67ad2864f9baadfb27c911023c93cb542a046d77


+ 0 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/types/cache/de6347ad07fb413be85f91215d95b7d2af4fd8b6


+ 0 - 0
.rpt2_cache/rpt2_05711b4e7ffd6b9f9d92b6e9827d2bd053e8fea3/types/cache/ec22d91a4885b8854166e83dd2aaec81a83cb774


Разлика између датотеке није приказан због своје велике величине
+ 10 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/2492fb108e484b12ed0e653e8c37abc4602b0ad3


Разлика између датотеке није приказан због своје велике величине
+ 5 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/25d7591ab289f51ea28f943c596a4eaf902a5d96


Разлика између датотеке није приказан због своје велике величине
+ 9 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/31f9fcaa2420b2a3e7da0d7bf7783f2bed9de968


Разлика између датотеке није приказан због своје велике величине
+ 9 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/45cdba0f23408c381f1223b42cde2c883983cf3b


Разлика између датотеке није приказан због своје велике величине
+ 5 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/4b04acffc5130412bc6f4b9c7831316777cbad49


Разлика између датотеке није приказан због своје велике величине
+ 9 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/6ac7764dc36cc0ddeab93c358492316c52269131


Разлика између датотеке није приказан због своје велике величине
+ 5 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/6e512c72f356e396cbf253522fee40904d348bf5


Разлика између датотеке није приказан због своје велике величине
+ 5 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/7d94795dda8e891494bf167ffe1cdb35bd6ad0fd


Разлика између датотеке није приказан због своје велике величине
+ 5 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/84e0988369d84f0440d76986a78b45e5082a7a72


Разлика између датотеке није приказан због своје велике величине
+ 5 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/f2da217e33c75f4ca69faf8b847cc2e732b59ba5


Разлика између датотеке није приказан због своје велике величине
+ 8 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/code/cache/f9471b3a5ecac3c254c8d180a4cc8bc521659e48


+ 0 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/types/cache/452bd4bb32109b4a65edcb5ded468bb77224e985


+ 0 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/types/cache/67ad2864f9baadfb27c911023c93cb542a046d77


+ 0 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/types/cache/de6347ad07fb413be85f91215d95b7d2af4fd8b6


+ 0 - 0
.rpt2_cache/rpt2_533646e8477279e56b87a33e251e0f5c22d7a3db/types/cache/ec22d91a4885b8854166e83dd2aaec81a83cb774


+ 1 - 0
bin/index.js

@@ -12,5 +12,6 @@ loadLib("libs/laya.core.js")
 loadLib("libs/laya.ui.js")
 loadLib("libs/laya.d3.js")
 loadLib("libs/laya.physics.js")
+loadLib("libs/laya.physics3D.js")
 //-----libs-end-------
 loadLib("js/bundle.js");

+ 255 - 169
bin/js/bundle.js

@@ -99,134 +99,6 @@
     }
     EventManager.instance = new Laya.EventDispatcher();
 
-    class AssetManager {
-        constructor() {
-            this.Player = new ResDic();
-            this.Enemy = new ResDic();
-            this.Horse = new ResDic();
-            this.Prop = new ResDic();
-            AssetManager.ins = this;
-            EventManager.EventOn(EventState.LoadComplete, this, this.Init);
-        }
-        static get Instance() {
-            if (AssetManager.ins) {
-                return AssetManager.ins;
-            }
-            else {
-                return new AssetManager();
-            }
-        }
-        Init() {
-            this.maincamera = this.mainscene.getChildByName("Main Camera");
-            this.Plane = this.mainscene.getChildByName("Plane");
-            EventManager.EventTrigger(EventState.SceneInit);
-        }
-    }
-    class ResourcesPath {
-    }
-    ResourcesPath.MainScene = "Game/res/MainScene/LayaScene_Mainscene/Conventional/Mainscene.ls";
-    ResourcesPath.Horse = [
-        "Game/res/Role/LayaScene_Role/Conventional/Horse.lh"
-    ];
-    ResourcesPath.Player = [
-        "Game/res/Role/LayaScene_Role/Conventional/player.lh"
-    ];
-    ResourcesPath.Enemy = [
-        "Game/res/Role/LayaScene_Role/Conventional/enemy.lh"
-    ];
-
-    var Sprite3D = Laya.Sprite3D;
-    var Vector3 = Laya.Vector3;
-    class modelConfig {
-        constructor(model) {
-            this.modelcur = model;
-            this.modelPos = model.transform.position.clone();
-            this.modelRot = model.transform.rotation.clone();
-            this.modelSca = model.transform.scale.clone();
-        }
-    }
-    class GamePool {
-        constructor() {
-            this.modelpool = {};
-            this.maxAcount = 30;
-            GamePool.Ins = this;
-        }
-        static get Instance() {
-            if (GamePool.Ins) {
-                return GamePool.Ins;
-            }
-            else {
-                return new GamePool();
-            }
-        }
-        GetModel(_model, title) {
-            var poolname = title + _model.name;
-            if (this.modelpool[poolname] != null && this.modelpool[poolname] != undefined) {
-                if (this.modelpool[poolname].length > 0) {
-                    var model1 = this.modelpool[poolname][0];
-                    this.modelpool[poolname].splice(0, 1);
-                    if (model1.modelcur.destroyed) {
-                        model1.modelcur = Sprite3D.instantiate(_model);
-                        if (!model1.modelcur.active) {
-                            model1.modelcur.active = true;
-                        }
-                    }
-                    model1.modelcur.active = true;
-                    model1.modelcur.transform.position = _model.transform.position.clone();
-                    model1.modelcur.transform.rotation = _model.transform.rotation.clone();
-                    model1.modelcur.transform.scale = _model.transform.scale.clone();
-                    return model1.modelcur;
-                }
-                else {
-                    var model = Sprite3D.instantiate(_model);
-                    model.active = true;
-                    return model;
-                }
-            }
-            else {
-                var model = Sprite3D.instantiate(_model);
-                model.active = true;
-                return model;
-            }
-        }
-        RecoveryModel(model, title = "", modelstate = false) {
-            if (model.destroyed) {
-                return;
-            }
-            if (!modelstate && model.active == false) {
-                return;
-            }
-            var poolname = title + model.name;
-            if (this.modelpool[poolname] != null && this.modelpool[poolname] != undefined) {
-                var modelnum = this.modelpool[poolname];
-                if (modelnum.length > this.maxAcount) {
-                    model.destroy();
-                    return;
-                }
-                else {
-                    modelnum.push(new modelConfig(model));
-                }
-            }
-            else {
-                modelnum = [];
-                modelnum.push(new modelConfig(model));
-                this.modelpool[poolname] = modelnum;
-            }
-            model.transform.position = new Vector3(0, 0, -10000);
-            model.removeSelf();
-            model.active = false;
-        }
-        ResetsModelPool() {
-            for (var Key in this.modelpool) {
-                var model = this.modelpool[Key];
-                for (var i = 0; i < model.length; i++) {
-                    model[i].modelcur.destroy();
-                }
-            }
-            this.modelpool = {};
-        }
-    }
-
     class GameTools {
         constructor() {
             GameTools.ins = this;
@@ -416,18 +288,198 @@
         }
     }
 
-    var Vector2 = Laya.Vector2;
+    class AssetManager {
+        constructor() {
+            this.Player = new ResDic();
+            this.Enemy = new ResDic();
+            this.Horse = new ResDic();
+            this.Prop = new ResDic();
+            AssetManager.ins = this;
+            EventManager.EventOn(EventState.LoadComplete, this, this.Init);
+        }
+        static get Instance() {
+            if (AssetManager.ins) {
+                return AssetManager.ins;
+            }
+            else {
+                return new AssetManager();
+            }
+        }
+        Init() {
+            this.maincamera = this.mainscene.getChildByName("Main Camera");
+            this.Plane = this.mainscene.getChildByName("Plane");
+            GameTools.Instance.SetCollider(this.Plane, 100);
+            EventManager.EventTrigger(EventState.SceneInit);
+        }
+    }
+    class ResourcesPath {
+    }
+    ResourcesPath.MainScene = "Game/res/MainScene/LayaScene_Mainscene/Conventional/Mainscene.ls";
+    ResourcesPath.Horse = [
+        "Game/res/Role/LayaScene_Role/Conventional/Horse.lh"
+    ];
+    ResourcesPath.Player = [
+        "Game/res/Role/LayaScene_Role/Conventional/player.lh"
+    ];
+    ResourcesPath.Enemy = [
+        "Game/res/Role/LayaScene_Role/Conventional/enemy.lh"
+    ];
+
+    var Sprite3D = Laya.Sprite3D;
+    var Vector3 = Laya.Vector3;
+    class modelConfig {
+        constructor(model) {
+            this.modelcur = model;
+            this.modelPos = model.transform.position.clone();
+            this.modelRot = model.transform.rotation.clone();
+            this.modelSca = model.transform.scale.clone();
+        }
+    }
+    class GamePool {
+        constructor() {
+            this.modelpool = {};
+            this.maxAcount = 30;
+            GamePool.Ins = this;
+        }
+        static get Instance() {
+            if (GamePool.Ins) {
+                return GamePool.Ins;
+            }
+            else {
+                return new GamePool();
+            }
+        }
+        GetModel(_model, title) {
+            var poolname = title + _model.name;
+            if (this.modelpool[poolname] != null && this.modelpool[poolname] != undefined) {
+                if (this.modelpool[poolname].length > 0) {
+                    var model1 = this.modelpool[poolname][0];
+                    this.modelpool[poolname].splice(0, 1);
+                    if (model1.modelcur.destroyed) {
+                        model1.modelcur = Sprite3D.instantiate(_model);
+                        if (!model1.modelcur.active) {
+                            model1.modelcur.active = true;
+                        }
+                    }
+                    model1.modelcur.active = true;
+                    model1.modelcur.transform.position = _model.transform.position.clone();
+                    model1.modelcur.transform.rotation = _model.transform.rotation.clone();
+                    model1.modelcur.transform.scale = _model.transform.scale.clone();
+                    return model1.modelcur;
+                }
+                else {
+                    var model = Sprite3D.instantiate(_model);
+                    model.active = true;
+                    return model;
+                }
+            }
+            else {
+                var model = Sprite3D.instantiate(_model);
+                model.active = true;
+                return model;
+            }
+        }
+        RecoveryModel(model, title = "", modelstate = false) {
+            if (model.destroyed) {
+                return;
+            }
+            if (!modelstate && model.active == false) {
+                return;
+            }
+            var poolname = title + model.name;
+            if (this.modelpool[poolname] != null && this.modelpool[poolname] != undefined) {
+                var modelnum = this.modelpool[poolname];
+                if (modelnum.length > this.maxAcount) {
+                    model.destroy();
+                    return;
+                }
+                else {
+                    modelnum.push(new modelConfig(model));
+                }
+            }
+            else {
+                modelnum = [];
+                modelnum.push(new modelConfig(model));
+                this.modelpool[poolname] = modelnum;
+            }
+            model.transform.position = new Vector3(0, 0, -10000);
+            model.removeSelf();
+            model.active = false;
+        }
+        ResetsModelPool() {
+            for (var Key in this.modelpool) {
+                var model = this.modelpool[Key];
+                for (var i = 0; i < model.length; i++) {
+                    model[i].modelcur.destroy();
+                }
+            }
+            this.modelpool = {};
+        }
+    }
+
     var Vector3$1 = Laya.Vector3;
+    class Runner extends Laya.Script3D {
+        constructor() {
+            super();
+            this.currotV = new Vector3$1();
+            this.currot = new Laya.Quaternion;
+            this.NormalizeSpeed = new Vector3$1();
+            this.turndir = new Vector3$1(1, 0, 0);
+        }
+        static get Instance() {
+            if (Runner.ins) {
+                return Runner.ins;
+            }
+            else {
+                return new Runner();
+            }
+        }
+        onAwake() {
+            this.m_player = this.owner;
+        }
+        onUpdate() {
+        }
+        MoveX(_speed) {
+            _speed *= 0.07;
+            this.m_player.transform.translate(new Vector3$1(_speed, 0, 0));
+            this.m_player.transform.position = this.m_player.transform.position.x < -4.5 ? new Vector3$1(-4.5, this.m_player.transform.position.y, this.m_player.transform.position.z) : this.m_player.transform.position;
+            this.m_player.transform.position = this.m_player.transform.position.x > 4.5 ? new Vector3$1(4.5, this.m_player.transform.position.y, this.m_player.transform.position.z) : this.m_player.transform.position;
+        }
+        TurnDir(_dir) {
+            if (_dir.x != 0) {
+                Vector3$1.lerp(this.currotV, _dir, 0.35, _dir);
+                this.currotV = _dir;
+                Laya.Quaternion.rotationLookAt(_dir, new Vector3$1(0, 1, 0), this.currot);
+                Laya.Quaternion.slerp(this.m_player.transform.rotation, this.currot, 0.025, this.currot);
+                this.currot = new Laya.Quaternion(0, this.currot.y, 0);
+                this.m_player.transform.rotation = this.currot;
+            }
+            else {
+                Laya.Quaternion.slerp(this.m_player.transform.rotation, new Laya.Quaternion(0, 0, 0, 0), 0.1, this.currot);
+                this.currot = new Laya.Quaternion(0, this.currot.y, 0);
+                this.m_player.transform.rotation = this.currot;
+            }
+        }
+    }
+
+    var Vector2 = Laya.Vector2;
+    var Vector3$2 = Laya.Vector3;
     class PlayerControl {
         constructor() {
-            this.mousepos = new Vector2(0, 0);
-            this.offx = 0;
-            this.curtouchsmoothness = 0.02;
-            this.poschazhi = new Vector3$1();
-            this.gengsuipos = new Vector3$1();
-            this.lllpos = new Vector3$1();
+            this.DownHit = new Laya.HitResult();
+            this.canmove = true;
+            this.speed = 1;
+            this.press = false;
+            this.offset = new Vector3$2(0, 0, 0);
+            this.offestx = 0;
+            this.poschazhi = new Vector3$2();
+            this.gengsuipos = new Vector3$2();
+            this.lllpos = new Vector3$2();
             this.hights = 0;
             this.wights = 0;
+            this.rolepos = new Vector3$2;
+            this.rundir = new Vector3$2;
+            this.curspeed = 0;
             PlayerControl.ins = this;
         }
         static get Instance() {
@@ -440,59 +492,91 @@
         }
         Init(_player) {
             this.Player = _player;
-            this.Player.transform.position = new Vector3$1();
+            this._runner = this.Player.addComponent(Runner);
+            this.Player.transform.position = new Vector3$2();
             this.Camera = AssetManager.Instance.maincamera;
-            this.Camera.transform.position = new Vector3$1(0, 15, -10);
-            this.Camera.transform.localRotationEuler = new Vector3$1(-25, 0, 0);
-            this.MouseListen();
+            this.Camera.transform.position = new Vector3$2(0, 10, -10);
+            this.Camera.transform.localRotationEuler = new Vector3$2(-5, 0, 0);
+            Laya.stage.on(Laya.Event.MOUSE_DOWN, this, this.onMouseDown);
+            Laya.timer.frameLoop(1, this, this.LateUpdate);
             this.CameraFollow();
         }
         MouseListen() {
-            Laya.stage.on(Laya.Event.MOUSE_DOWN, this, this.OnTouchEnter);
-            Laya.stage.on(Laya.Event.MOUSE_UP, this, this.OnTouchOut);
-            Laya.stage.on(Laya.Event.MOUSE_OUT, this, this.OnTouchOut);
-        }
-        OnTouchEnter() {
-            this.mousepos = new Vector2(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
-            Laya.timer.clear(this, this.OnTouchMove);
-            Laya.timer.frameLoop(1, this, this.OnTouchMove);
-        }
-        OnTouchOut() {
-            Laya.timer.clear(this, this.OnTouchMove);
-        }
-        OnTouchMove() {
-            var MousePos = new Vector2(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
-            var offestX = MousePos.x - this.mousepos.x;
-            this.offx = GameTools.Instance.lerp(this.offx, offestX, this.curtouchsmoothness);
-            var movespeed = this.offx * 0.07;
-            this.Player.transform.translate(new Vector3$1(-movespeed, 0, 0));
-            this.Player.transform.position = this.Player.transform.position.x < -4.5 ? new Vector3$1(-4.5, this.Player.transform.position.y, this.Player.transform.position.z) : this.Player.transform.position;
-            this.Player.transform.position = this.Player.transform.position.x > 4.5 ? new Vector3$1(4.5, this.Player.transform.position.y, this.Player.transform.position.z) : this.Player.transform.position;
-            var dir = new Vector3$1(-offestX * 0.001, 0, 0);
-            this.mousepos = MousePos;
+        }
+        onMouseDown(e) {
+            this.startMousePos = new Vector3$2(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
+            var startpoint = new Laya.Vector2(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
+            this.curMousePos1 = startpoint.clone();
+            Laya.timer.frameLoop(1, this, this.onMouseMove);
+            Laya.stage.on(Laya.Event.MOUSE_UP, this, this.onMouseUp);
+            Laya.stage.on(Laya.Event.MOUSE_OUT, this, this.onMouseUp);
+        }
+        onMouseMove() {
+            var MousePos = new Laya.Vector2(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
+            var offestX = MousePos.x - this.curMousePos1.x;
+            offestX = offestX > 100 ? 100 : offestX;
+            offestX = offestX < -100 ? -100 : offestX;
+            this.offestx = GameTools.Instance.lerp(this.offestx, offestX, 0.015);
+            this._runner.MoveX(-this.offestx);
+            var dir = new Vector3$2(-offestX * 0.005, 0, 0);
+            this._runner.TurnDir(dir);
+            this.curMousePos1 = new Vector2(MousePos.x, MousePos.y);
+        }
+        onMouseUp() {
+            this.offestx = 0;
+            Laya.timer.clear(this, this.onMouseMove);
         }
         CameraFollow() {
             this.hights = 0;
             this.wights = 0;
-            Vector3$1.subtract(this.Player.transform.position, this.Camera.transform.position, this.poschazhi);
+            Vector3$2.subtract(this.Player.transform.position, this.Camera.transform.position, this.poschazhi);
             Laya.timer.frameLoop(1, this, this.GenSui);
         }
         GenSui() {
-            Vector3$1.subtract(this.Player.transform.position, this.poschazhi, this.gengsuipos);
+            Vector3$2.subtract(this.Player.transform.position, this.poschazhi, this.gengsuipos);
             this.hights = GameTools.Instance.lerp(this.hights, 1.0, 0.03);
             this.wights = GameTools.Instance.lerp(this.wights, 0.8, 0.02);
-            this.gengsuipos = new Vector3$1(this.gengsuipos.x, this.gengsuipos.y, this.gengsuipos.z - this.wights);
-            Vector3$1.lerp(this.Camera.transform.position, this.gengsuipos, 0.25, this.lllpos);
-            this.lllpos = new Vector3$1(this.gengsuipos.x, this.gengsuipos.y, this.lllpos.z);
-            this.lllpos = new Vector3$1(this.gengsuipos.x, this.lllpos.y, this.lllpos.z);
+            this.gengsuipos = new Vector3$2(this.gengsuipos.x, this.gengsuipos.y, this.gengsuipos.z - this.wights);
+            Vector3$2.lerp(this.Camera.transform.position, this.gengsuipos, 0.25, this.lllpos);
+            this.lllpos = new Vector3$2(this.gengsuipos.x, this.gengsuipos.y, this.lllpos.z);
+            this.lllpos = new Vector3$2(this.gengsuipos.x, this.lllpos.y, this.lllpos.z);
             this.Camera.transform.position = this.lllpos;
             var qqqwe = new Laya.Quaternion();
-            var eyePos = new Vector3$1(this.gengsuipos.x, this.gengsuipos.y - 0.8, this.gengsuipos.z);
-            Laya.Quaternion.lookAt(eyePos, this.Player.transform.position, new Vector3$1(0, 1, 0), qqqwe);
+            var eyePos = new Vector3$2(this.gengsuipos.x, this.gengsuipos.y - 0.8, this.gengsuipos.z);
+            Laya.Quaternion.lookAt(eyePos, this.Player.transform.position, new Vector3$2(0, 1, 0), qqqwe);
             qqqwe.invert(qqqwe);
             Laya.Quaternion.slerp(this.Camera.transform.rotation, qqqwe, 0.1, qqqwe);
             this.Camera.transform.rotation = qqqwe;
         }
+        get DownRayCheck() {
+            var isDownHit = false;
+            var startPos = new Vector3$2(this.Player.transform.position.x, this.Player.transform.position.y + 1.5, this.Player.transform.position.z + 0.5);
+            var direction = new Vector3$2(0, -1, 0);
+            var DownRay = new Laya.Ray(startPos, direction);
+            if (AssetManager.Instance.mainscene.physicsSimulation.rayCast(DownRay, this.DownHit, 100)) {
+                if (this.DownHit.collider.collisionGroup == 100) {
+                    isDownHit = true;
+                }
+            }
+            return isDownHit;
+        }
+        Move() {
+            if (this.canmove) {
+                this.speed = this.press ? 1 : 0.5;
+                this.curspeed = GameTools.Instance.lerp(this.curspeed, this.speed, 0.04);
+                Vector3$2.scale(new Vector3$2(0, 0, 1), this.curspeed, this.rundir);
+                Vector3$2.add(this.Player.transform.position, this.rundir, this.rolepos);
+                Vector3$2.lerp(this.Player.transform.position, this.rolepos, 0.15, this.rolepos);
+                this.Player.transform.position = this.rolepos;
+            }
+        }
+        RayCheck() {
+            if (this.DownRayCheck) {
+                this.Player.transform.position = new Laya.Vector3(this.Player.transform.position.x, this.DownHit.point.y, this.Player.transform.position.z);
+            }
+        }
+        LateUpdate() {
+        }
     }
 
     class GameManager {
@@ -554,6 +638,8 @@
             EventManager.EventTrigger(EventState.LoadComplete);
         }
         LoadScene() {
+            let abc = 0.15 * 18;
+            console.log("abc---", abc);
             Laya.Scene3D.load(ResourcesPath.MainScene, Laya.Handler.create(this, (scene) => {
                 this.scene = scene;
                 AssetManager.Instance.mainscene = this.scene;

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
bin/js/bundle.js.map


+ 3 - 3
laya/.laya

@@ -1,6 +1,6 @@
 <project version="2.0">
-   <asynRes>img,temp,sound                                    </asynRes>
-   <unDealRes>embed                                    </unDealRes>
+   <asynRes>img,temp,sound                                       </asynRes>
+   <unDealRes>embed                                       </unDealRes>
    <resTypes>png,jpg   </resTypes>
    <resExportPath>bin/res/atlas   </resExportPath>
    <asynResExportPath>bin   </asynResExportPath>
@@ -15,7 +15,7 @@ var Dialog=laya.ui.Dialog;]]>   </codeImportsJS>
    <shareResPath/>
    <codeType>1   </codeType>
    <resCanCompress/>
-   <resPublishQuality>80                                    </resPublishQuality>
+   <resPublishQuality>80                                       </resPublishQuality>
    <langPath/>
    <defaultFont/>
    <codeImportsTS><![CDATA[import View=Laya.View;

+ 190 - 29
src/Game/PlayerControl.ts

@@ -2,10 +2,22 @@ import Vector2 = Laya.Vector2;
 import Vector3 = Laya.Vector3;
 import { GameTools } from "../Tools/GameTools";
 import { AssetManager } from "../Tools/AssetManager";
+import { Runner } from "./Runner";
 export class PlayerControl{
     private static ins:PlayerControl;
     public Player:Laya.Sprite3D;
     public Camera:Laya.Camera;
+    //向下检测到的物体
+    public DownHit:Laya.HitResult = new Laya.HitResult();
+    //是否能移动
+    public canmove:boolean = true;
+    //玩家速度
+    public speed:number = 1;
+    //是否为按压状态
+    public press:boolean = false;
+
+    _runner:Runner;
+
     constructor(){
         PlayerControl.ins = this;
     }
@@ -19,44 +31,155 @@ export class PlayerControl{
     }
     Init(_player:Laya.Sprite3D){
         this.Player = _player;
+        this._runner = this.Player.addComponent(Runner) as Runner;
         this.Player.transform.position = new Vector3();
         
         this.Camera = AssetManager.Instance.maincamera;
-        this.Camera.transform.position = new Vector3(0,15,-10);
-        this.Camera.transform.localRotationEuler = new Vector3(-25,0,0);
-
-        this.MouseListen();
+        this.Camera.transform.position = new Vector3(0,10,-10);
+        this.Camera.transform.localRotationEuler = new Vector3(-5,0,0);
+        Laya.stage.on(Laya.Event.MOUSE_DOWN,this,this.onMouseDown);
+        // this.MouseListen();
+        Laya.timer.frameLoop(1,this,this.LateUpdate);
         this.CameraFollow();
     }
     MouseListen(){
-        Laya.stage.on(Laya.Event.MOUSE_DOWN,this,this.OnTouchEnter);
-        Laya.stage.on(Laya.Event.MOUSE_UP,this,this.OnTouchOut);
-        Laya.stage.on(Laya.Event.MOUSE_OUT,this,this.OnTouchOut);
+        // Laya.stage.on(Laya.Event.MOUSE_DOWN,this,this.OnTouchEnter);
+        // Laya.stage.on(Laya.Event.MOUSE_UP,this,this.OnTouchOut);
+        // Laya.stage.on(Laya.Event.MOUSE_OUT,this,this.OnTouchOut);
     }
-    mousepos = new Vector2(0,0);
-    offx = 0;
-    curtouchsmoothness = 0.02;
-    OnTouchEnter(){
-        this.mousepos = new Vector2(Laya.MouseManager.instance.mouseX,Laya.MouseManager.instance.mouseY);
-        Laya.timer.clear(this,this.OnTouchMove);
-        Laya.timer.frameLoop(1,this,this.OnTouchMove);
+    // mousepos = new Vector2(0,0);
+    // offx = 0;
+    // curtouchsmoothness = 0.02;
+    // OnTouchEnter(){
+    //     // this.mousepos = new Vector2(Laya.MouseManager.instance.mouseX,Laya.MouseManager.instance.mouseY);
+    //     // Laya.timer.clear(this,this.OnTouchMove);
+    //     // Laya.timer.frameLoop(1,this,this.OnTouchMove);
+    //     //转向逻辑
+    //     this.mouseDownTime = Laya.Browser.now();
+    //     this.startMousePos = new Vector3(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
+    //     this.curMousePos = this.startMousePos.clone();
+    //     Laya.stage.on(Laya.Event.MOUSE_MOVE, this, this.OnTouchMove);
+    //     Laya.stage.on(Laya.Event.MOUSE_UP, this, this.OnTouchOut);
+    //     // 移出屏幕视作松开鼠标
+    //     Laya.stage.on(Laya.Event.MOUSE_OUT, this, this.OnTouchOut);
+    // }
+    // OnTouchOut(){
+    //     // Laya.timer.clear(this,this.OnTouchMove);
+
+    //     if (!this.startMousePos) return;
+    //     Laya.stage.off(Laya.Event.MOUSE_MOVE, this, this.OnTouchMove);
+    //     Laya.stage.off(Laya.Event.MOUSE_UP, this, this.OnTouchOut);
+    //     Laya.stage.off(Laya.Event.MOUSE_OUT, this, this.OnTouchOut);
+    //     let now = Laya.Browser.now();
+    //     let interval = now - this.mouseDownTime;
+    //     this.endMousePos = new Vector3(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
+    //     let dist = Laya.Vector3.distance(this.endMousePos, this.startMousePos);
+    //     // if (interval < GlobalConfig.Appsetting.Input.FireMinInterval) return;
+    //     if (dist < 50 && interval < 200) {
+    //         //射箭逻辑
+    //     }
+    //     this.mouseDownTime = now;
+    // }
+    // OnTouchMove(){
+    //     var MousePos = new Vector2(Laya.MouseManager.instance.mouseX,Laya.MouseManager.instance.mouseY);
+    //     var offestX = MousePos.x - this.mousepos.x;
+    //     // offestX = offestX > 100?100:offestX;
+    //     // offestX = offestX < -100?-100:offestX;
+    //     this.offx = GameTools.Instance.lerp(this.offx,offestX,this.curtouchsmoothness);
+        
+    //     var movespeed = this.offx*0.07; 
+    //     this.Player.transform.translate(new Vector3(-movespeed,0,0));
+    //     // this.Player.transform.position = this.Player.transform.position.x < -4.5?new Vector3(-4.5,this.Player.transform.position.y,this.Player.transform.position.z):this.Player.transform.position;
+    //     // this.Player.transform.position = this.Player.transform.position.x > 4.5?new Vector3(4.5,this.Player.transform.position.y,this.Player.transform.position.z):this.Player.transform.position;
+    //     var dir = new Vector3(-offestX*0.001,0,0);
+    //     this.mousepos = MousePos;
+
+    //     //转向逻辑
+    //     let tmpMousePos = new Vector3(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
+    //     Vector3.subtract(tmpMousePos, this.curMousePos,this.offset);
+    //     let OffsetX;
+    //     OffsetX = this.offset.x>20?20:this.offset.x;
+    //     OffsetX = this.offset.x<-20?-20:this.offset.x;
+    //     let rotation = new Vector3(0,-OffsetX*0.003,0);
+    //     this.Player.transform.rotate(rotation);
+    //     this.curMousePos = tmpMousePos;
+    // }
+    mouseDownTime:number;
+    startMousePos:Vector3;
+    endMousePos:Vector3;
+    curMousePos:Vector3;
+
+    curMousePos1:Vector2;
+    offset:Vector3 = new Vector3(0,0,0);
+    onMouseDown(e: Laya.Event) {
+        // this.press = true;
+        // this.mouseDownTime = Laya.Browser.now();
+        this.startMousePos = new Vector3(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
+        var startpoint = new Laya.Vector2(Laya.MouseManager.instance.mouseX,Laya.MouseManager.instance.mouseY);
+        // this.curMousePos = this.startMousePos.clone();
+        this.curMousePos1 = startpoint.clone();
+        Laya.timer.frameLoop(1,this,this.onMouseMove);
+        // Laya.stage.on(Laya.Event.MOUSE_MOVE, this, this.onMouseMove);
+        Laya.stage.on(Laya.Event.MOUSE_UP, this, this.onMouseUp);
+        // // //移出屏幕视作松开鼠标
+        Laya.stage.on(Laya.Event.MOUSE_OUT, this, this.onMouseUp);
     }
-    OnTouchOut(){
-        Laya.timer.clear(this,this.OnTouchMove);
+
+    offestx = 0;
+    onMouseMove() {
+        // let tmpMousePos = new Vector3(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
+        // Vector3.subtract(tmpMousePos, this.curMousePos,this.offset);
+        // let OffsetX;
+        // OffsetX = this.offset.x>15?15:this.offset.x;
+        // OffsetX = this.offset.x<-15?-15:this.offset.x;
+        // let rotation = new Vector3(0,-OffsetX*0.004,0);
+        // this.Player.transform.rotate(rotation);
+        // this.curMousePos = tmpMousePos;
+
+
+
+
+
+
+        var MousePos = new Laya.Vector2(Laya.MouseManager.instance.mouseX,Laya.MouseManager.instance.mouseY);
+        var offestX = MousePos.x - this.curMousePos1.x;
+
+        offestX = offestX > 100?100:offestX;
+        offestX = offestX < -100?-100:offestX;
+        //EventManager.EventTrigger(EventType.Hover,Math.round(offestX));
+
+        this.offestx = GameTools.Instance.lerp(this.offestx,offestX,0.015);
+
+        this._runner.MoveX(-this.offestx);
+
+        var dir = new Vector3(-offestX*0.005,0,0);
+
+        this._runner.TurnDir(dir);
+
+        this.curMousePos1 = new Vector2(MousePos.x,MousePos.y) ;
     }
-    OnTouchMove(){
-        var MousePos = new Vector2(Laya.MouseManager.instance.mouseX,Laya.MouseManager.instance.mouseY);
-        var offestX = MousePos.x - this.mousepos.x;
-        // offestX = offestX > 100?100:offestX;
-        // offestX = offestX < -100?-100:offestX;
-        this.offx = GameTools.Instance.lerp(this.offx,offestX,this.curtouchsmoothness);
-        var movespeed = this.offx*0.07; 
-        this.Player.transform.translate(new Vector3(-movespeed,0,0));
-        this.Player.transform.position = this.Player.transform.position.x < -4.5?new Vector3(-4.5,this.Player.transform.position.y,this.Player.transform.position.z):this.Player.transform.position;
-        this.Player.transform.position = this.Player.transform.position.x > 4.5?new Vector3(4.5,this.Player.transform.position.y,this.Player.transform.position.z):this.Player.transform.position;
-        var dir = new Vector3(-offestX*0.001,0,0);
-        this.mousepos = MousePos;
+
+    onMouseUp() {
+        this.offestx = 0;
+        Laya.timer.clear(this,this.onMouseMove);
+
+
+        // this.press = false;
+        // if (!this.startMousePos) return;
+        // Laya.stage.off(Laya.Event.MOUSE_MOVE, this, this.onMouseMove);
+        // Laya.stage.off(Laya.Event.MOUSE_UP, this, this.onMouseUp);
+        // Laya.stage.off(Laya.Event.MOUSE_OUT, this, this.onMouseUp);
+        // let now = Laya.Browser.now();
+        // let interval = now - this.mouseDownTime;
+        // this.endMousePos = new Vector3(Laya.MouseManager.instance.mouseX, Laya.MouseManager.instance.mouseY);
+        // let dist = Laya.Vector3.distance(this.endMousePos, this.startMousePos);
+        // // if (interval < GlobalConfig.Appsetting.Input.FireMinInterval) return;
+        // if (dist < 50 && interval < 200) {
+        //     //射箭逻辑
+        // }
+        // this.mouseDownTime = now;
     }
+
      /**相机跟随*/
      CameraFollow(){
          this.hights = 0;
@@ -87,6 +210,44 @@ export class PlayerControl{
          Laya.Quaternion.slerp(this.Camera.transform.rotation,qqqwe,0.1,qqqwe);
          this.Camera.transform.rotation = qqqwe;
      }
-    
 
+
+     /**竖直方向射线检测*/
+    get DownRayCheck():boolean{
+        var isDownHit = false;
+        var startPos:Vector3 = new Vector3(this.Player.transform.position.x,this.Player.transform.position.y+1.5,this.Player.transform.position.z+0.5);
+        var direction:Vector3 = new Vector3(0,-1,0);
+        var DownRay:Laya.Ray = new Laya.Ray(startPos,direction);
+        if(AssetManager.Instance.mainscene.physicsSimulation.rayCast(DownRay,this.DownHit,100)){
+            if (this.DownHit.collider.collisionGroup == 100) {
+                isDownHit = true;
+            }
+        }
+        return isDownHit;
+     }
+     rolepos = new Vector3;
+     rundir= new Vector3;
+     curspeed = 0;
+    Move(){
+        if (this.canmove) {
+            this.speed = this.press?1:0.5;
+            this.curspeed = GameTools.Instance.lerp(this.curspeed, this.speed, 0.04);
+            Vector3.scale(new Vector3(0, 0, 1), this.curspeed, this.rundir);
+            Vector3.add(this.Player.transform.position, this.rundir, this.rolepos);
+            Vector3.lerp(this.Player.transform.position, this.rolepos, 0.15, this.rolepos);
+            this.Player.transform.position = this.rolepos;
+        }
+    }
+    //射线检测
+    RayCheck(){
+        if(this.DownRayCheck){
+            this.Player.transform.position = new Laya.Vector3(this.Player.transform.position.x,this.DownHit.point.y,this.Player.transform.position.z);
+        }
+    }
+    LateUpdate(){
+        // this.Move();
+        // this.RayCheck();
+    }
+    
+    
 }

+ 56 - 0
src/Game/Runner.ts

@@ -0,0 +1,56 @@
+import Vector3 = Laya.Vector3;
+import Sprite3D = Laya.Sprite3D;
+export class Runner extends Laya.Script3D{
+    private static ins:Runner;
+    m_player:Sprite3D;
+    constructor(){
+        super();
+    }
+    public static get Instance():Runner{
+        if(Runner.ins){
+            return Runner.ins
+        }
+        else{
+            return new Runner();
+        }
+    }
+    onAwake(){
+        this.m_player = this.owner as Sprite3D;
+    }
+    onUpdate(){
+
+    }
+    MoveX(_speed:number){
+        _speed*=0.07;
+
+        //var dir = new Vector3(_speed,0,0);
+        //Vector3.add(this.m_sprite.transform.position,dir,this.m_sprite.transform.position);
+        this.m_player.transform.translate(new Vector3(_speed,0,0));
+
+        this.m_player.transform.position = this.m_player.transform.position.x < -4.5?new Vector3(-4.5,this.m_player.transform.position.y,this.m_player.transform.position.z):this.m_player.transform.position;
+        this.m_player.transform.position = this.m_player.transform.position.x > 4.5?new Vector3(4.5,this.m_player.transform.position.y,this.m_player.transform.position.z):this.m_player.transform.position;
+        //this.m_sprite.transform.position = this.curpos;
+    }
+    currotV = new Vector3();
+    currot = new Laya.Quaternion;
+    NormalizeSpeed:Vector3 = new Vector3();
+    turndir:Vector3 = new Vector3(1,0,0);
+    TurnDir(_dir:Vector3)
+    {
+        if(_dir.x != 0)
+        {
+            Vector3.lerp(this.currotV,_dir,0.35,_dir);
+            this.currotV = _dir;
+            Laya.Quaternion.rotationLookAt(_dir,new Vector3(0,1,0),this.currot);
+            Laya.Quaternion.slerp(this.m_player.transform.rotation,this.currot,0.025,this.currot);
+            this.currot = new Laya.Quaternion(0,this.currot.y,0);
+            this.m_player.transform.rotation = this.currot;
+        }
+        else
+        {
+            Laya.Quaternion.slerp(this.m_player.transform.rotation,new Laya.Quaternion(0,0,0,0),0.1,this.currot);
+            this.currot = new Laya.Quaternion(0,this.currot.y,0);
+            this.m_player.transform.rotation = this.currot;
+        }
+    }
+}

+ 2 - 0
src/Tools/AssetManager.ts

@@ -1,5 +1,6 @@
 import ResDic from "./ResDic";
 import { EventManager, EventState } from "./EventManager";
+import { GameTools } from "./GameTools";
 
 export class AssetManager{
     private static ins:AssetManager;
@@ -33,6 +34,7 @@ export class AssetManager{
     Init(){
         this.maincamera = this.mainscene.getChildByName("Main Camera") as Laya.Camera;
         this.Plane = this.mainscene.getChildByName("Plane") as Laya.Sprite3D;
+        GameTools.Instance.SetCollider(this.Plane,100);
         EventManager.EventTrigger(EventState.SceneInit);
     }
 }

+ 2 - 0
src/View/LoadView.ts

@@ -27,6 +27,8 @@ export class LoadView{
         EventManager.EventTrigger(EventState.LoadComplete);
     }
     LoadScene(){
+        // let abc = 0.15*18;
+        // console.log("abc---",abc);
         Laya.Scene3D.load(ResourcesPath.MainScene,Laya.Handler.create(this,(scene)=>{
             this.scene = scene;
             AssetManager.Instance.mainscene = this.scene;