HTML and CSS Reference
In-Depth Information
code combines the animation and transformation code from
Chapter 4
with the A* node path
result to create a really cool animated implementation of A* path finding.
Example 8-18. Full code listing of A* with tank animation
<!doctype html>
<html
<html lang=
"en"
>
<head>
<head>
<meta
<meta charset=
"UTF-8"
>
<title>
<title>
Chapter 8 Example 18 - Larger A* With Tank Animation
</title>
</title>
<
script src
=
"modernizr.js"
><
/script>
<
script type
=
'text/javascript'
src
=
'graph.js'
><
/script>
<
script type
=
'text/javascript'
src
=
'astar.js'
><
/script>
<
script type
=
"text/javascript"
>
window
.
addEventListener
(
'load'
,
eventWindowLoaded
,
false
false
);
function
function
eventWindowLoaded
() {
canvasApp
();
}
function
function
canvasSupport
() {
return
return
Modernizr
.
canvas
;
}
function
function
canvasApp
(){
iif
(
!
canvasSupport
()) {
return
return
;
}
else
else
{
var
var
theCanvas
=
document
.
getElementById
(
'canvas'
);
var
var
context
=
theCanvas
.
getContext
(
'2d'
);
}
var
var
currentNodeIndex
=
0
;
var
var
nextNode
;
var
var
currentNode
;
var
var
rowDelta
=
0
;
var
var
colDelta
=
0
;
var
var
tankX
=
0
;
var
var
tankY
=
0
;
var
var
angleInRadians
=
0
;
var
var
tankStarted
=
false
false
;
var
var
tankMoving
=
false
false
;
var
false
;
//set up tile map
var
var
finishedPath
=
false
var
mapRows
=
15
;
var
var
mapCols
=
15
;