Flash - random motion and rotation - Actionscript 2

Date: 9th April 2008 at 11:32 am | Filed under: actionscript, development, flash | Author: Sam Burdge

Back again, my pet tadpoles (they still haven't grown into frogs yet!). This time I am going to explain the actionscript that makes them move, turn and run from the mouse. Firstly, heres an example of what they do (move your mouse over them and watch 'em swim away): Read on…

11 Responses to “Flash - random motion and rotation - Actionscript 2”

  • Comment by Sherry
    Date: April 9th, 2008 at 5:14 pm

    This is very cool, thank you for sharing. I can't wait to try it :-)

  • Comment by sherry
    Date: April 10th, 2008 at 8:55 pm

    Hi, I tried this out and am having trouble getting it to work. Am I supposed to have 2 different layers, one for tadpole and one for mouse_mc? Also, my transparent pixels don't seem to be attached to my mouse…

  • Comment by Sam Burdge
    Date: April 12th, 2008 at 11:04 pm

    Hi Sherry

    They can be on separate layers, or both the same layer, it shouldn’t matter. Did you give the movie clips instance names in the ‘properties’ panel?

    Sam

  • Comment by bex
    Date: August 12th, 2008 at 2:10 pm

    Hi there, just wondering if you’d have an tips on converting this to AS3. I’m very new to Flash and have been trying to do it all day!

    Thanks in advance,

    bex.

  • Comment by ds
    Date: April 7th, 2009 at 4:18 am

    very nice !!!!!!!!!!

  • Comment by gray
    Date: April 23rd, 2009 at 7:32 am

    Hi, I know this is a little late in the game and not sure if anyone is still answering questions but…

    What I’m looking to do is have the sprite (tadpole) freeze on mouse over; basically a button, and resume it’s motion on rollout.

    Any help is appreciated.

    Thanks,
    Gray

  • Comment by VIEZZZZ
    Date: May 26th, 2009 at 7:36 am

    i tried it and it worked! tnx
    BUT i dont understand something. The tadpoles move quite smooth with an “ease out” first of all this looks nice but i dont understand why it moves like that. Second thing is… How can i also make an “ease in” So that they start moving slowly, then get to speed, then slow down en eventually stop… ?? can anyone help??

  • Comment by Sam Burdge
    Date: May 26th, 2009 at 12:01 pm

    the function called newpos() basically does the following:

    1. choose a rondom point on the stage
    2. rotate to face the direction of that point
    3. Move toward the point while decelerating to a stop
    4. Once it is not moving repeat the process

    @gray

    to stop them moving try changing:

    if(this.hitTest(_root.mouse_mc)){ this.newpos();}

    to:

    if(this.hitTest(_root.mouse_mc)){
    this._x = this._x;
    this._y = this._y;
    }

    @viezzz
    sorry i don’t have time to code it and test it at the moment, but you need to look at these lines of code:

    this._x += dx/acceleration;
    this._y += dy/acceleration;

    this is the code for the deceleration.

    My idea would be to calculate a halfway point between the start and end position and make the tadpole accelerate towards the halfway point, and then deccelerate away from it.

    Hope this helps!

  • Comment by Max
    Date: November 23rd, 2009 at 2:51 pm

    where can i get copy of whole script?

  • Comment by pete
    Date: February 1st, 2010 at 5:40 pm

    Hi.. nice work. I wanted to increase the acceleration value, but the motion stops after a while if a higher value is used.
    I just don’t get it why? maybe someone can give me a hint ;)

  • Comment by Zon
    Date: June 19th, 2010 at 2:43 am

    Sweet little function man, cheers for the explanation!

Leave a Comment