{ if (err) { console.error(err); } else { // 1. 普通函数可以直接调用 Print("Hello World"); // 2. 继承cc.Component的类 let clsNam._cocos creat">
当前位置:   article > 正文

[Cocos Creator] 加载远程代码_cocos creator 可以远程下载js代码使用么

cocos creator 可以远程下载js代码使用么
  1. // 加载代码
  2. let url = "http://远程域名或ip地址/路径/TestRemote.js";
  3. cc.loader.load(url, (err, res) => {
  4. if (err) {
  5. console.error(err);
  6. } else {
  7. // 1. 普通函数可以直接调用
  8. Print("Hello World");
  9. // 2. 继承cc.Component的类
  10. let clsName = "TestRemote";// 自己定义,需要和TestRemote.js文件中类名一致
  11. let cls = cc.js.getClassByName(clsName);
  12. if (!cls) {
  13. let remoteCls: any = window[clsName];
  14. if (window.__modular) {
  15. // preview
  16. window.__modular.modules[clsName] = {
  17. file: clsName
  18. };
  19. window.__modular.nameMap[clsName] = clsName;
  20. }
  21. if (window.__require) {
  22. // build
  23. }
  24. let o = function (r) {
  25. var u = {
  26. exports: {}
  27. };
  28. remoteCls[0].call(u.exports, function (t) {
  29. return o(remoteCls[1][t] || t)
  30. }, u, u.exports);
  31. return u.exports
  32. }
  33. o(clsName);
  34. }
  35. let node = new cc.Node();
  36. node.parent = this.node;
  37. node.setPosition(0, 100);
  38. let com = node.addComponent("TestRemote");
  39. let labelNode = new cc.Node();
  40. labelNode.parent = node;
  41. com.label = labelNode.addComponent(cc.Label);
  42. com.setLabel("Hahaha");
  43. console.log('done');
  44. }
  45. });
  1. // 远程代码: 下面3种任选一种
  2. // 1.普通js代码
  3. function Print(msg) {
  4. console.log('Print', msg);
  5. }
  6. // =====================================================
  7. // 2.cocos creator 继承cc.Component的js类编译后版本:
  8. // build版本之后获取到的,"37c8fTvEXFFTJXIilra/hLt"为随机生成的uuid,由编辑器生成
  9. var TestRemote = [function (t, e, i) {
  10. "use strict";
  11. cc._RF.push(e, "37c8fTvEXFFTJXIilra/hLt", "TestRemote", "TestRemote");
  12. cc.Class({
  13. extends: cc.Component,
  14. properties: {
  15. label: cc.Label
  16. },
  17. start: function () { },
  18. setLabel: function (t) {
  19. this.label.string = t
  20. }
  21. });
  22. cc._RF.pop()
  23. }, {}]
  24. // =====================================================
  25. // 2.cocos creator 继承cc.Component的ts类编译后版本:
  26. // build版本之后获取到的,"19b791y98xIZLnToPi/DNyb"为随机生成的uuid,由编辑器生成
  27. var TestRemote = [function(t, e, i) {
  28. "use strict";
  29. cc._RF.push(e, "19b791y98xIZLnToPi/DNyb", "TestRemote", "TestRemote");
  30. var n = this && this.__extends || function() {
  31. var t = function(e, i) {
  32. return (t = Object.setPrototypeOf || {
  33. __proto__: []
  34. }instanceof Array && function(t, e) {
  35. t.__proto__ = e
  36. }
  37. || function(t, e) {
  38. for (var i in e)
  39. e.hasOwnProperty(i) && (t[i] = e[i])
  40. }
  41. )(e, i)
  42. };
  43. return function(e, i) {
  44. function n() {
  45. this.constructor = e
  46. }
  47. t(e, i),
  48. e.prototype = null === i ? Object.create(i) : (n.prototype = i.prototype,
  49. new n)
  50. }
  51. }()
  52. , o = this && this.__decorate || function(t, e, i, n) {
  53. var o, s = arguments.length, r = s < 3 ? e : null === n ? n = Object.getOwnPropertyDescriptor(e, i) : n;
  54. if ("object" == typeof Reflect && "function" == typeof Reflect.decorate)
  55. r = Reflect.decorate(t, e, i, n);
  56. else
  57. for (var a = t.length - 1; a >= 0; a--)
  58. (o = t[a]) && (r = (s < 3 ? o(r) : s > 3 ? o(e, i, r) : o(e, i)) || r);
  59. return s > 3 && r && Object.defineProperty(e, i, r),
  60. r
  61. }
  62. ;
  63. Object.defineProperty(i, "__esModule", {
  64. value: !0
  65. });
  66. var s = cc._decorator
  67. , r = s.ccclass
  68. , a = s.property
  69. , c = function(t) {
  70. function e() {
  71. var e = null !== t && t.apply(this, arguments) || this;
  72. return e.label = null,
  73. e
  74. }
  75. return n(e, t),
  76. e.prototype.onLoad = function() {}
  77. ,
  78. e.prototype.start = function() {}
  79. ,
  80. e.prototype.setLabel = function(t) {
  81. this.label.string = t
  82. }
  83. ,
  84. o([a(cc.Label)], e.prototype, "label", void 0),
  85. e = o([r], e)
  86. }(cc.Component);
  87. i.TestRemote = c,
  88. cc._RF.pop()
  89. }
  90. , {}]

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/152428
推荐阅读
相关标签
  

闽ICP备14008679号