如何在impact.js项目中正确导入并使用debugout.js?
在Impact.js项目中正确导入debugout.js的方法
方法一:用Impact.js模块系统(推荐)
- 把下载好的
debugout.js放到项目的lib/plugins目录(没有这个目录就新建一个),符合Impact的插件存放规范。 - 打开
debugout.js,在文件最顶部加上Impact的模块定义代码,把原代码包裹起来:
ig.module( 'plugins.debugout' ) .defines(function() { // 这里保留debugout.js原本的所有代码 });
- 打开
main.js,在.requires()数组里添加'plugins.debugout'到列表末尾:
ig.module( 'game.main' ) .requires( 'impact.game', 'impact.font', 'game.levels.level1mapped', 'game.levels.level2mapped', 'game.levels.level3mapped', 'game.levels.level4mapped', 'game.levels.level5mapped', 'game.levels.select', 'game.levels.leveltest', 'plugins.camera', 'plugins.touch-button', 'plugins.debugout' // 添加这一行 )
方法二:全局直接引入(快速生效)
如果不想修改模块结构,就调整index.html里的脚本引入顺序,把debugout.js放在impact.js之后、main.js之前,这样debugout会提前成为全局变量:
<script type="text/javascript" src="lib/impact/impact.js"></script> <script type="text/javascript" src="lib/game/debugout.js"></script> <script type="text/javascript" src="lib/game/main.js"></script>
之后在main.js里就能直接使用全局的debugout对象了。
注意点
- 方法一里要保证模块ID
'plugins.debugout'和文件路径对应:文件在lib/plugins/debugout.js,模块ID就是plugins.debugout。 - 方法二可能引发全局变量命名冲突,所以优先使用模块系统的方式。
内容的提问来源于stack exchange,提问作者Vipin Verma
相关产品推荐
相关产品推荐

