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