• 关于Unity,Laya学习,第一步加载Unity加载场景


    大家都知道Unity和Laya结合在一起可以做网页甚至可以做H5端的游戏,下边附上Laya加载Unity场景的代码

    import CameraFollow from "./CameraFollow";
    
    
    export default class GameLoad extends Laya.Script {
     
        // 更多参数说明请访问: https://ldc2.layabox.com/doc/?nav=zh-as-2-4-0
        
        constructor() { super();
    
            Laya.init(1920,1080,Laya.WebGL);
         }
        
        public CameraObj:Laya.MeshSprite3D;
        public characterObj:Laya.MeshSprite3D;
    
      
        onAwake():void
        {
            this.LoadU3DScene();
      
        }
      
        private LoadU3DScene():void
        {
            let MainString:string="D:/Users/Administrator/Documents/CCT/bin/res/Scene/LayaScene_Lobby/Conventional/Lobby.ls";
            let SubString:string="res";
            let Scenepath:string=MainString.substring(this.Index(MainString,SubString)-1);
            Laya.Scene3D.load(Scenepath,Laya.Handler.create(this,this.OnComplete));
        }
    
        private OnComplete(scene:Laya.Scene3D):void
        {
           Laya.stage.addChild(scene);
           this.InitMySceneAllThing(scene);
        }
    
    
        private InitMySceneAllThing(scene:Laya.Scene3D):void
        {
            this.CameraObj=scene.getChildAt(0) as Laya.MeshSprite3D;
            console.log("CameraObjName:"+this.CameraObj.name);
            this.characterObj=scene.getChildAt(3) as Laya.MeshSprite3D;
            console.log("CharacterObjName:"+this.characterObj.name);
            var mainCam=scene.getChildByName("Main Camera") as Laya.Camera;
            let CameraFollowScript:CameraFollow=this.CameraObj.addComponent(CameraFollow) as CameraFollow;
            CameraFollowScript.InitMySelfGameObj(scene,mainCam);
              
        }
      
    
        private Index(MainString:string,SubString:string):number
        {
           if(MainString==null||SubString==null)
           {
               return -1;
           }
           
           
           let MainStringLength:number=MainString.length;
           let SubStringLength:number=SubString.length;
           console.log("MainStringLength:"+MainStringLength);
           console.log("SubStringLength:"+SubStringLength);
    
           let pos=-1;
           let prepos=pos;
    
           let i=0;
           let j=0;
         
           while(i<MainStringLength&&j<SubStringLength)
           {
               if(MainString[i]==SubString[j])
               {
                   ++i;
                   ++j;
               }
               else
               {
                   i=i-j+1;
                   j=0;
               }
           }
           if(j==SubStringLength)
           {
               prepos=pos;
               pos=i-j;
           }
    
            return pos+1;
    
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
  • 相关阅读:
    TortoiseSVN 详细操作指南
    2022.06青少年软件编程(Python)等级考试试卷(五级)
    Vue 同步组件和异步组件的差别
    webpack环境变量的设置
    北大肖臻老师《区块链技术与应用》系列课程学习笔记[15]以太坊-交易树和收据树
    GitHub标星34.7k,没有记不住的正则表达式
    如何让 GPT 输出稳定的 JSON
    巧妙的设计
    第二章:线程基础知识复习
    brew切换数据源为阿里源
  • 原文地址:https://blog.csdn.net/charlsdm/article/details/126020555