0

我有:

HexRenderer.js:

/**
 * HexRenderer
 */
game.HexRenderer = game.HexRenderer || {};

game.HexRenderer = me.Renderable.extend({

    init : function() {
        //init logic
    },

    draw : function(context) {
       //draw logic
    },

    update : function() {
        return false;
    }
});

播放.js:

game.PlayScreen = me.ScreenObject.extend({
    /** 
     *  action to perform on state change
     */
    onResetEvent: function() {

        // load a level
        me.levelDirector.loadLevel("hextile");

        // reset the score
        game.data.score = 0;

        // add our HexRenderer to the game world
        //console.log(typeof(game.HexRenderer)); - undefined
        this.hexagonGrid = new game.HexRenderer(); // Error appears here
        me.game.world.addChild(this.hexagonGrid);
    },


    /** 
     *  action to perform when leaving this screen (state change)
     */
    onDestroyEvent: function() {
        // remove the HexRenderer from the game world
        me.game.world.removeChild(this.hexagonGrid);
    }
});

索引.html:

    <!-- melonJS Library -->
    <!-- build:js js/app.min.js -->
    <script type="text/javascript" src="js/lib/melonJS-2.0.0.js"></script>

    <!-- Plugin(s) -->
    <script type="text/javascript" src="js/lib/plugins/debug/debugPanel.js"></script>

    <!-- Game Scripts -->
    <script type="text/javascript" src="js/melon/entities/HexRenderer.js"></script>
    <script type="text/javascript" src="js/melon/Game.js"></script>
    <script type="text/javascript" src="js/melon/Resources.js"></script>

    <script type="text/javascript" src="js/melon/entities/Entities.js"></script>

    <script type="text/javascript" src="js/melon/screens/Title.js"></script>
    <script type="text/javascript" src="js/melon/screens/Play.js"></script>

代码基于 melonjs教程

启动时我看到:

TypeError:game.HexRenderer 不是构造函数

问题是在 Windows 中一切正常,但在 Linux Mint 上不起作用(在最后一个 chrome 和 firefox 版本中尝试过)。

这是什么诡计吗?有什么区别,它与操作系统有何关系?

4

1 回答 1

0

啊,这是一个非常愚蠢的问题。

那与melonjs相去甚远。

在 index.html 我有:

<script type="text/javascript" src="js/melon/entities/HexRenderer.js"></script>

但是文件名是 hexRenderer.js,我把它改成了 HexRenderer.js,一切都开始工作了。它在 Windows 上工作的奇怪的事情......(见这里

于 2014-12-09T14:54:34.677 回答