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);