g_resources не определен в cocos2d

Я пишу код cocos2d и хочу запустить свою первую сцену, определенную в папке res, и должен выполнить на ней событие ontouch. Я написал код, но он выдает ошибку, что "g_resources notfined"

Ниже приведен код моего файла "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 ответ

Вы используете 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 Конфиг файл, в нем посмотри "jsList" и убедитесь, что "src/resource.js" (или какой бы путь это ни находился) ставится там перед любым .js файл, содержащий код, который требует использования g_resources,

Я могу ошибаться, но этот строгий приоритет, вероятно, не понадобится, если вы не перевели браузер в строгий режим с "use strict"; в начале (тем не менее, я предпочитаю те небольшие минусы в отличие от всех плюсов, которые дает использование строгого режима).

Если проблема в том, что вы используете JSHint, и вы получаете эту ошибку в вашем редакторе, убедитесь, что поместили /*global g_resource*/ в начале файла, где вы получаете ошибку.

Еще один обходной путь, также в начале записи файла var g_resource = g_resource || [],

Другие вопросы по тегам