hi guys
i have a problem that i need to sort out - i have a script that
checks to see where the mouse pointer is in relation to a point of
origin and then selects which frame from a group of 9 to show
the problem i'm having is that if the angle is above 180 degrees, it
swaps to negative numbers back down to 0 (go to http://www.
19.5degs.com/element/215.php to see an example - in particular watch
the text frame as you move) and i need to figure out how to make it a
full 360
i've tried
if (angle<<0) {
angle = (-1*angle)+180;
}
but that's not right
here is my code
//image frame selector
function changeFrame(clip:MovieClip, angle:Number):Void {
// frame is receiving a wrong number above 180 degrees here
// there are 9 frames so i want each frame to have 40 degrees (hence
angle/40)
var frame:Number = Math.round(angle/40);
// visibleClip is a variable set on all clips (set in the mousemove
below) to tell my script which clip is visible to make it invisible
without having to loop through the other clips when there's a change
clip[clip.visibleClip]._visible = false;
clip["p"+frame]._visible = true;
clip.visibleClip = ["p"+frame];
}
//mouse follower
var mouseListener:Object = new Object();
mouseListener.lookAt = function(clip:MovieClip, originX:Number,
originY:Number, watchX:Number, watchY:Number):Void {
var adjside:Number = watchX - originX;
var oppside:Number = -1*(watchY - originY);
var angle:Number = Math.atan2(oppside, adjside); // in radians
var angle:Number = Math.round(angle/Math.PI*180); // convert to degrees
var angle:Number = -1*(angle); // invert
changeFrame(clip, angle);
}
mouseListener.onMouseMove = function () {
var watchX:Number = _xmouse;
var watchY:Number = _ymouse;
// there are 8 images that are trying to do this
for (var i:Number=1; i<9; i++) {
var thisPerson:MovieClip = content_mc["person"+i];
this.lookAt(thisPerson, thisPerson._x, thisPerson._y,
_root._xmouse, _root._ymouse);
}
};
Mouse.addListener(mouseListener);
hope you can help
alz
Allandt Bik-Elliott
Receptacle
t 01920 413 947 | m 07970 718 545
e [EMAIL PROTECTED]
This e-mail is confidential and may be privileged. It is for the use
of the named recipient(s) only. If you have received it in error,
please notify us immediately. Please do not copy or disclose its
contents to anyone, and delete it from your computer systems. Please
note that information sent by e-mail can be corrupted. This e-mail
has been prepared using information believed by the author to be
reliable and accurate, but the Company makes no warranty as to its
contents. Any opinions expressed are those of the author and do not
necessarily reflect the opinions of the Company.
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders