我正在写一个cocos2d代码,想要运行我在res文件夹中定义的第一个场景,并且必须在它上面执行ontouch事件。我编写了一个代码,但是它给出了一个错误“g_resources not defined”
以下是发生错误的“main.js”文件的代码:
"use strict";
var cocos2dApp = cc.Application.extend({
config : document.ccConfig,
ctor : function(scene) {
this._super();
this.startScene = scene;
cc.COCOS2D_DEBUG = this.config['COCOS2D_DEBUG'];
cc.setup(this.config['tag']);
cc.AppController.shareAppController().didFinishLaunchingWithOptions();
},
applicationDidFinishLaunching : function() {
var that = this;
// initialize director
var director = cc.Director.getInstance();
var resourceSize = cc.size(1024, 768);
var designSize = cc.size(1024, 768);
var policy = new cc.ResolutionPolicy(cc.ContainerStrategy.PROPORTION_TO_FRAME, cc.ContentStrategy.NO_BORDER);
cc.EGLView.getInstance().setDesignResolutionSize(designSize.width,designSize.height,policy);
cc.EGLView.getInstance().resizeWithBrowserSize(true);
// director.setContentScaleFactor(2,2)
// enable High Resource Mode(2x, such as iphone4) and maintains low
// resource on other devices.
// director->enableRetinaDisplay(true);
// cc.setScaleX(0.5)
// cc.setScaleY(0.5)
// this.scale(0.5,0.5)
// turn on display FPS
director.setDisplayStats(this.config['showFPS']);
// set FPS. the default value is 1.0/60 if you don't call this
director.setAnimationInterval(1.0 / this.config['frameRate']);
// create a scene. it's an autorelease object
// load resources and run
cc.LoaderScene.preload(g_resources, function() {
var startSceneInstance = new that.startScene();
director.replaceScene(startSceneInstance);
});
return true;
}
});
var myApp = new cocos2dApp(helloworldScene);
我将所有图像存储在“resource.js”中,变量名与g_resources相同。 我不知道为什么会出现这个错误。任何人都可以帮我解决问题
答案 0 :(得分:0)
您使用的是Cocos2D-JS v3.0(rc3)吗?如果我没有错误地认为,那段代码看起来像 它来自v2.3。如果你刚开始,我强烈建议你从学习3.0开始。
现在,如果您真的希望使用v2.3,那么您很可能需要进入cocos2d.js
配置文件并查看appFiles
并确保"src/resource.js"
<}> 包含需要使用.js
的代码的任何g_resources
文件之前,<}>放置在那里(或其任何路径)。
如果您使用的是Cocos2D-JS v3.0并且您的代码没问题但是您遇到了错误,那么您可以执行以下操作:检查您的project.json
配置文件,在其中查看{{ 1}}并确保{<1}}(或任何路径)放在之前包含需要使用"jsList"
的代码的任何"src/resource.js"
文件
我可能会弄错,但是如果您没有将浏览器置于严格模式且.js
处于开始状态,则可能不需要严格的优先级(也就是说,我更喜欢使用严格模式的所有专业人士的对比。)
如果问题是您正在使用JSHint并且在编辑器中出现该错误,请确保在出现错误的文件的开头放置g_resources
。
另一种解决方法是,在文件开头写"use strict";
。