Geo Blaster Extended Full Source
Example A-2. Geo Blaster Extended full source code listing
<!doctype html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<title>
CH9EX1: Geo Blaster Extended</title>
<
script
src
=
"modernizr-1.6.min.js"
><
/script>
<
script
type
=
"text/javascript"
>
window
.
addEventListener
(
'load'
,
eventWindowLoaded
,
false
);
function
eventWindowLoaded
()
{
canvasApp
();
}
function
canvasSupport
()
{
return
Modernizr
.
canvas
;
}
function
supportedAudioFormat
(
audio
)
{
var
returnExtension
=
""
;
if
(
audio
.
canPlayType
(
"audio/ogg"
)
==
"probably"
||
audio
.
canPlayType
(
"audio/ogg"
)
==
"maybe"
)
{
returnExtension
=
"ogg"
;
}
else
if
(
audio
.
canPlayType
(
"audio/wav"
)
==
"probably"
||
audio
.
canPlayType
(
"audio/wav"
)
==
"maybe"
)
{
returnExtension
=
"wav"
;
}
else
if
(
audio
.
canPlayType
(
"audio/wav"
)
==
"probably"
||
audio
.
canPlayType
(
"audio/wav"
)
==
"maybe"
)
{
returnExtension
=
"mp3"
;
}
return
returnExtension
;
}
function
canvasApp
(){
if
(
!
canvasSupport
())
{
return
;
}
else
{
theCanvas
=
document
.
getElementById
(
"canvas"
);
context
=
theCanvas
.
getContext
(
"2d"
);
}
//sounds
var
SOUND_EXPLODE
=
"explode1"
;
var
SOUND_SHOOT
=
"shoot1"
;
var
SOUND_SAUCER_SHOOT
=
"saucershoot"
var
MAX_SOUNDS
=
9
;
var
soundPool
=
new
Array
();
var
explodeSound
;
var
explodeSound2
;
var
explodeSound3
;
var
shootSound
;
var
shootSound2
;
var
shootSound3
;
var
saucershootSound
;
var
saucershootSound2
;
var
saucershootSound3
;
var
audioType
;
//application states
var
GAME_STATE_INIT
=
0
;
var
GAME_STATE_WAIT_FOR_LOAD
=
5
;
var
GAME_STATE_TITLE
=
10 ...
Get HTML5 Canvas, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.