g_resources未在cocos2d中定义

时间:2014-09-03 12:09:03

标签: cocos2d-js

我正在写一个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相同。 我不知道为什么会出现这个错误。任何人都可以帮我解决问题

1 个答案:

答案 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";