Animate کردن یک حلقه For

سلام دوستان!
یه سوال خیلی ساده دارم!
ببینید من همچین کدی دارم:
PHP:
for (var i = 0; i != 100; i++)
{
mc._x++;
}
خوب کد خیلی ساده س!! Movie Clip ی که تو متغیر mc ریخته م باید 100 واحد به جلو بره. اما چون هیچ وقفه ای در هر بار اجرای حلقه وجود نداره، یهو می پره جلو!!
من می خوام بدونم چه جوری می شه از طریق یه حلقه for چنین انیمیشن ساده ای رو بسازم!
البته نمی خوام از onEnterFrame استفاده کنم! چون می خوام این For رو درون یک function قرار بدم و اگر از onEnterFrame استفاده کنم کدم به هم ریخته می شه و نمی تونم حفظش کنم!
خیلی ممنون!
 

mfsh_1369

Member
سلام !
با for این کاری که شما می گید نمی شه!
دوست عزیز شما برای این کار می تونید از تابع setInterval استفاده کنی
که به این صورت استفاده می شه:
PHP:
function [name]([P1],[P2],...){
	//codes
}
setInterval([name],[interval in milliseconds],[P1],[P2],...)
یک مثال تو کد :
PHP:
function test(X:Number) {
	_root.m_mc._x+=X;
	}
setInterval(test,100,5);
برای ایستادن setInterval می تونی از تابع clearInterval استفاده کنی به این صورت
PHP:
function test(X:Number) {
	_root.m_mc._x += X;
	if (_root.m_mc._x>=400) {
		clearInterval(interval);
	}
}
var interval = setInterval(test, 100, 5);


با تشکر MFSH
 
آخرین ویرایش:
راستی! اگر تابعی که تو interval صدا می زنیم چند پارامتر داشته باشه باید چه جوری درستش کنیم؟!
 

mfsh_1369

Member
سلام
اگه یه مقدار توجه می کردی من این موضوع رو هم گفتم
به همون صورتی که پارامتر اول رو وارد کردی می تونی پارامترهای دیگم وارد کنی
به این صورت:
PHP:
function test(X:Number, i:Boolean, j:Boolean) {
	_root.m_mc._x += X;
	if (_root.m_mc._x>=400) {
		clearInterval(interval);
		trace(i+"-"+j);
	}
}
var interval = setInterval(test, 100, 5, true, false);
با تشکر MFSH
 
بالا