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;
    }
});

Play.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);
    }
});

index.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 バージョンで試しました)。

それは何かのトリックですか?違いは何ですか、それはOSにどのように関連していますか?

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 に答える