er...make that

if (angle < 0) {
  angle += 360;
}


Bob Leisle wrote:
Hi Allandt,

How about something like this?
if (angle < 0) {
   angle += 180;
}

hth,
Bob


Allandt Bik-Elliott (Receptacle) wrote:
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



--No virus found in this incoming message.
Checked by AVG Free Edition.Version: 7.5.516 / Virus Database: 269.19.20/1260 - Release Date: 2/5/2008 9:44 AM




--
Thanks,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bob Leisle Headsprout Software & Engineering
http://www.headsprout.com
Where kids learn to read!
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to