0

<rant>我发誓处理 IDE 问题是最糟糕的。就像我想做的就是用一些代码弄脏我的手,但不能。</rant>

正如标题所暗示的,我正在尝试让 Cocos2d-HTML5 在 Visual Studio 2012 中工作。我已将 Cocos2d-HTML5 文件复制到我的 web 目录并遵循了一些教程,但在jsloader.js.

在进行以下更改之前,它没有找到jsloader.js

   FROM:  `engineDir: '../cocos2d/',`
   TO:  `engineDir: '../GridWars/cocos2d/'`

Gridwars是项目的名称

现在它找到jsloader.js但有一个错误。

Unhandled exception at line 117, column 5 in http://localhost:51244/GridWars/cocos2d/platform/jsloader.js

0x800a138f - JavaScript runtime error: Unable to get property 'loadExtension' of undefined or null reference

对于这些代码行:

var d = document;
var c = d.ccConfig;

if (c.loadExtension != null && c.loadExtension == true) {
4

3 回答 3

1

你用的是哪个版本的 Cocos2d-html5?

需要在 cocos2d.js 文件中配置您的设置。您可以在模板文件夹中找到此文件。

例如:

var c = {

    COCOS2D_DEBUG:2, //0 to turn debug off, 1 for basic debug, and 2 for full debug

    box2d:false,

    chipmunk:false,

    showFPS:true,

    loadExtension:false,    //**Hey, here is the loadExtension.....**

    frameRate:60,

    tag:'gameCanvas', //the dom element to run cocos2d on

    engineDir:'../cocos2d/',

    //SingleEngineFile:'',

    appFiles:[

        'src/resource.js',

        'src/myApp.js'//add your own files in order here

    ]

};
于 2013-04-06T03:12:03.453 回答
1

v2.2 有类似的错误。我发现在 cocos2d.js 文件中移动一行会有所帮助。

window.addEventListener('DOMContentLoaded', function () {
    ...
    d.body.appendChild(s);
    document.ccConfig = c;
    s.id = 'cocos2d-html5';
    //else if single file specified, load singlefile
});

删除行:document.ccConfig = c;并将其移到window.addEventListener

例如:

document.ccConfig = c;

window.addEventListener('DOMContentLoaded', function () {
   // etc
});
于 2013-10-07T20:38:09.647 回答
0

答案张贴在他们的发行说明上。我正在关注他们的一个教程,最终在帖子底部找到了我的答案。

回答:

cocos2d.js

寻找“ s.c = c”,

将其更改为“ document.ccConfig = c

main.js

寻找“ config:document.querySelector('#cocos2d-html5')['c'],

将其更改为“ config:document.ccConfig,

于 2013-04-06T04:01:20.677 回答