JS绑定跟SharpKit或JavaScript的加载流程是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
首先,现在的方案是游戏启动就加载全部的JavaScript代码。
先看下StreamingAssets/JavaScript/文件夹下的目录结构:
- <李>
调试/:跟,JavaScript调试有关的,JavaScript代码,只有当开启调试的时候才需要加载。
李> <李>手动/:也是用于手写,JavaScript代码,跟JSImp/有一些区别.Manual里最有的代表性的是Vector2和Vector3,这2个对象是手写实现的,在,JavaScript中跑只会使用,JavaScript版本的Vector2和Vector3
李> <李>SharpKit/:从SharpKit拿过来的一些JavaScript库文件。可以实现类继承等
李> <李>GeneratedFiles。javascript:是由菜单【<强> JSB |生成JS和CS绑定强>】产生的。用于实现将c#函数绑定到,javascript上。比如说要在,javascript中使用GameObject就要使用这里面的文件。这一点和LUA不一样,LUA产生绑定时只有产生c#代码,我们是2边都有。
李> <李>SharpKitGeneratedFiles。javascript:由SharpKit工程编译而来的javascript代码都会放在这个文件里。
李> <李>包括。javascript: javascript代码总入口
李>目前javascript加载只有一个入口,StreamingAsset/javascript/包括。javascript。
查看_JSEngine。预制上的配置:
包括。javascript里面通过CS。需要包含了所有的JavaScript文件:
(此内容可能不是最新的)
1,/* ,2 *,作者:Qiucw ,3 *,DO NOT change 秩序 ,4 */,5 ,6 ,7//,1) ,8//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ,9 function jsb_ReplaceOrPushJsType (jst), { 10个,,,,,//if (! JsTypes), {, JsTypes =, [];,} 11,,,,,var found =,假; 12,,,,,for (var 小姐:=,0;,小姐:& lt;, JsTypes.length;,我+ +),{ 13,,,,,,,,,if (JsTypes[我].fullname ==, jst.fullname), { 14日,,,,,,,,,,,,,JsTypes[我],=,jst; 15,,,,,,,,,,,,,found =,真的; 16,,,,,,,,,,,,,休息; 17日,,,,,,,,,} 18岁,,,,,} 19日,,,,,if (!), { 20,,,,,,,,,JsTypes.push (jst); 21日,,,,,} 22日,} 23日, 24日, 25,//,0),SharpKit 图书馆 26日,//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 27日,CS.require (“SharpKit/jsclr"); 28日,CS.require (“SharpKit/clrlibrary"); 29日, 30,//,1),Files generated by JSBinding 31日,//,may overwrite some classes 拷贝step 0) 32,//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 33,CS.require (“GeneratedFiles"); 34岁, 35,//36还以为;2),Manually written js 37,//,will overwrite some classes 拷贝step 1) 38,//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 39,CS.require(“手动/UnityEngine_Vector3"); 40,CS.require(“手动/UnityEngine_Vector2"); 41,CS.require(“手动/UnityEngine_MonoBehaviour"); 42,CS.require(“手动/UnityEngine_WaitForSeconds"); 43,CS.require(“手动/MissingClasses"); 44//45,//,may be 更多. . 46//47岁,//48还以为;3),code generated by SharpKit 49,//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 50,CS.require (“SharpKitGeneratedFiles"); 51, 52, 53,//,4),JavaScript 实施 54,//,will overwrite some classes 拷贝step 1) 55,//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 56,CS.require (“JSImp/Reflection"); 57,CS.require (“JSImp/Coroutine"); 58,CS.require (“JSImp/Iterator"); 59, 60//61年,//,may be 更多. . 62//63年, 64年,//,5),SharpKit handler (编译) 65年,//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 66年,CS.require (“SharpKit/myclrhandler"); 67年, 68年,//,6),Error 处理程序 69年,//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 70年,CS.require (“ErrorHandler");JS绑定跟SharpKit或JavaScript的加载流程是怎样的