ActionScript to move an object

Out of context: Reply #7

  • Started
  • Last post
  • 10 Responses
  • CyBrain0

    Some simple scripts (without Penner equations for easing) can be done with a simple setInterval function. Put a movie clip on the stage and put this action script on a frame in the same timeline.

    // WHEN THE MOVIE STARTED
    var startTime:Number;
    // TO BE COMPARED FOR EACH CALL OF m
    var now:Number;
    // TIME SINCE THE MOVEMENT STARTED
    var elapsed:Number;
    // HOW LONG YOU WANT THE MOVEMENT TO BE IN MILLISECONDS.
    var theDuration:Number = 5.0 * 1000;
    // CALL THIS FUNCTION EVERY 30TH OF A SECOND WHICH IS THE FRAME RATE.
    m = function() {
    // KEEP now UP TO DATE.
    now = getTimer();
    // USE ELAPSED FOR POSITION.
    elapsed = now - startTime;
    // POSITION IS THE PERCENTAGE OF TIME PER DURATION. SUBTRACT THE WIDTH OF square_mc TO STOP IT WHILE IT'S AGAINST THE RIGHT EDGE OF THE STAGE.
    square_mc._x = elapsed / theDuration * (Stage.width - square_mc._width);
    // ALWAYS CLEAR THE INTERVAL WHEN DONE TO PREVENT DRAINING THE PROCESSOR.
    if (elapsed >= theDuration) {
    clearInterval(mId);
    }
    }
    // IDENTIFY AND START CALLING THE FUNCTION.
    mId = setInterval(m, 1000 / 30);

View thread