Cocos Creator 脚本执行顺序(摘自官方文档)

Cocos Creator 脚本执行顺序(摘自官方文档),第1张

概述脚本执行顺序 完善的脚本执行顺序控制将在新版本中添加,目前请使用下面的原则控制脚本执行顺序: 使用统一的控制脚本来初始化其他脚本 一般我都会有一个 Game.js 的脚本作为总的控制脚本,假如我还有 Player.js, Enemy.js, Menu.js 三个组件,那么他们的初始化过程是这样的: // Game.jsconst Player = require('Player');cons 脚本执行顺序

完善的脚本执行顺序控制将在新版本中添加,目前请使用下面的原则控制脚本执行顺序:

使用统一的控制脚本来初始化其他脚本

一般我都会有一个Game.Js的脚本作为总的控制脚本,假如我还有Player.Js,Enemy.Js,monospace; Font-size:13.6px; line-height:normal; padding:0.2em 0px; margin:0px">Menu.Js三个组件,那么他们的初始化过程是这样的:

// Game.Jsconst Player = require('Player');const Enemy = 'Enemy');const Menu = 'Menu');cc.Class({    extends: cc.Component,propertIEs: {        player: Player,enemy: Enemy,menu: Menu    },onLoad: function () {        this.player.init();        this.enemy.init();        this.menu.init();    }});

其中在Enemy.JsMenu.Js中需要实现init方法,并将初始化逻辑放进去。这样我们就可以保证 Player,Enemy 和 Menu 的初始化顺序。

在 Update 中用自定义方法控制更新顺序

同理如果要保证以上三个脚本的每帧更新顺序,我们也可以将分散在每个脚本里的update替换成自己定义的方法:

// Player.Js    updatePlayer: function (dt) {        // do player update    }

然后在Game.Js脚本的update里调用这些方法:

// Game.Js    update: function (dt) {        this.player.updatePlayer(dt);        this.enemy.updateEnemy(dt);        this.menu.updateMenu(dt);    }
控制同一个节点上的组件执行顺序

在同一个节点上的组件脚本执行顺序,是可以通过组件在属性检查器里的排列顺序来控制的。排列在上的组件会先于排列在下的组件执行。我们可以通过组件右上角的齿轮按钮里的Move UpMove Down菜单来调整组件的排列顺序和执行顺序。

假如我们有两个组件 CompA 和 CompB,他们的内容分别是:

// CompA.Jscc.Class({    extends: cc.Component,// use this for initialization    onLoad: function () {        cc.log('CompA onLoad!');    },start: function () {        cc.log('CompA start!');    },136); Font-style:italic">// called every frame,uncomment this function to activate update callback    update: function (dt) {        cc.log('CompA update!');    },});// CompB.Jscc.Class({    extends: cc.Component,68)">'CompB onLoad!');    },68)">'CompB start!');    },68)">'CompB update!');    },});

组件顺序 CompA 在 CompB 上面时,输出:

CompA onLoad!CompB onLoad!CompA start!CompB start!CompA update!CompB update!

属性检查器里通过 CompA 组件右上角齿轮菜单里的Move Down将 CompA 移到 CompB 下面后,输出:

CompB onLoad!CompA onLoad!CompB start!CompA start!CompB update!CompA update!
总结

以上是内存溢出为你收集整理的Cocos Creator 脚本执行顺序(摘自官方文档)全部内容,希望文章能够帮你解决Cocos Creator 脚本执行顺序(摘自官方文档)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1081193.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存