I have:
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>
Code is based on melonjs tutorial.
On launching I see:
TypeError: game.HexRenderer is not a constructor
The thing is that everything works just fine in Windows, but doesn't work on Linux Mint(Tried in last chrome and firefox version).
Is it some trick ? What's the difference, how it related to OS?
Ah, it was very stupid issue.
That was quite far from melonjs.
On index.html I have:
<script type="text/javascript" src="js/melon/entities/HexRenderer.js"></script>
But file name was hexRenderer.js, I changed it to HexRenderer.js and everything started to work. Weird thing that it worked on windows...(See here)