Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
FogNetwork
GitHub Repository: FogNetwork/Tsunami
Path: blob/main/public/games/files/algaes-escapade/js/lib/startMenu.js
1036 views
1
2
include_once(['lib/world.js', 'lib/menu.js','lib/menuItem.js'])
3
function startMenu()
4
{
5
var _menu = new menu();
6
_menu.setPosition(260, 500)
7
_menu.addItem( new menuItem('img/new-game.png') );
8
9
var _bg = gamejs.image.load('img/splash-screen.png');
10
var _world = null;
11
12
var _setupLevel = function( mainSurface ){
13
//Initiate the world amd set the level to a reset
14
_world = new world();
15
var lvlNum = 0;
16
var self = this;
17
18
var nextLevel = function(event){
19
if ( typeof(event) !== 'undefined' )
20
{
21
event.preventDefault();
22
}
23
24
if ( $('#game_scorecard .nextLevel').hasClass('disabled') )
25
{
26
return false;
27
}
28
29
lvlNum++;
30
31
resetLevel();
32
return false;
33
};
34
35
var resetLevel = function(event){
36
if ( typeof(event) !== 'undefined' )
37
{
38
event.preventDefault();
39
}
40
41
$('#game_scorecard_bg').hide();
42
43
_world.init(lvlNum, mainSurface);
44
return false;
45
}
46
47
var backToMenu = function(event){
48
if ( typeof(event) !== 'undefined' )
49
{
50
event.preventDefault();
51
}
52
53
_world = null;
54
$('#game_scorecard_bg').remove();
55
return false;
56
}
57
58
$('.nextLevel').die();
59
$('.resetLevel').die();
60
$('.mainMenu').die();
61
62
$('.nextLevel').live('click', nextLevel);
63
$('.resetLevel').live('click', resetLevel);
64
$('.mainMenu').live('click', backToMenu);
65
66
//Initialise the first level
67
nextLevel();
68
}
69
70
this.handleInput = function( mainSurface ){
71
if ( _world === null )
72
{
73
gamejs.event.get().forEach(function(event){
74
if ( event.type === gamejs.event.KEY_DOWN )
75
{
76
if ( event.key == gamejs.event.K_ENTER )
77
{
78
_setupLevel( mainSurface );
79
}
80
}
81
});
82
}
83
else
84
{
85
_world.handleInput();
86
}
87
}
88
89
this.update = function( msDuration ){
90
if ( _world !== null )
91
{
92
_world.update( msDuration );
93
}
94
}
95
96
this.draw = function( surface ){
97
if ( _world === null )
98
{
99
surface.blit(_bg);
100
_menu.draw( surface );
101
}
102
else
103
{
104
_world.draw( surface );
105
}
106
}
107
}
108