The Essential Guide to HTML5

(Greg DeLong) #1

CHAPTER 4


Code Explanation


var my; Variable to hold mouse y


if ( ev.layerX || ev.layerX
== 0) {


ev.layerX is okay

mx= ev.layerX; Use it for mx


my = ev.layerY; } Use layerY for my


else if (ev.offsetX || ev.offsetX
== 0) {


Else try offset

mx = ev.offsetX; Set mx


my = ev.offsetY; } Set my


if (distsq(mx,my, cball.sx,
cball.sy)<ballradsq) {


Is mouse over ball?

inmotion = true; Set inmotion


drawall(); Draw everything


} Close if over ball


} Close function


function distsq(x1,y1,x2,y2) { Header for distsq


return (x1-x2)(x1-x2)+(y1-y2)
(y1-y2);


Return distance squared

} Close function


function moveit(ev) { Function header for mousemove event


var mx; For mouse x


var my; For mouse y


if (inmotion) { in motion?


if ( ev.layerX || ev.layerX == 0) { Does layerX work?


mx= ev.layerX; Use it for mx

Free download pdf