گاهی وقتها هنگام طراحی یک منو و یا زیر منو برای شما ممکن است این سوال پیش بیاید که چطور بدون استفاده از
gotoAndPlay می توانید TimeLine را کنترل کنید و به یک Tween بدون ایجاد پرش و یا ساخت حالتهای ممکنه امکان صرف نظر کردن از Stop و عبور از حالتهای میانی داد .
اصولا من باید این پست را در قسمت آموزش ارسال می کردم اما خوب چون عقیده دارم حداقل اینجا راحت تر
و بهتر قابل دسترسی است و کاربر شانس بیشتری برای دیدنش دارد اینجا ارسال شد .( با عرض پوزش از مدیر انجمن -- زحمتش با شما )
فرض کنید یک MC دارید و 4 عدد bt و می خواهید وقتی کاربر bt01 را انتخاب کرد این mc از محل خودش یعنی x0 تا x1 حرکت کند و اگر کلید 2 از x0 تاx2 و همینطور برای هر چهار کلید در نظر بگیرید و البته حالتهای میانی مثلا اگر mc در x1 بود و کاربر bt04 را زد از x1حرکت کند و در x4 توقف شود .
خوب بنظر کار ساده ای نیست اما اگه یه نگاهی به لیست زیر بیاندازید مشکل نیست
1- currentframe_ برای چک کردن شماره فریمی که الان دران قرار داریم
2- if برای چک کردن شماره فریم با فریم دلخواه
3- onEnterFrame برای چک کردن شرط ما در هر فریم
روش کار
شماره فریم را توسط آرگمان به تابع بدهیم
شماره فریم را چک کنیم تا معلوم شود شماره فریمی که در آن قرار داریم بزرگتر است یا شماره فریم مورد نظر ما
بر اساس نتیجه دستور های بعدی را اجرا کنیم
خوب اول تعرف تابع
شرط ما
اگه فریم دلخواه ما بزرگتر از فریم جاری باشد فقط لازم است بگویم Play اما تا زمانی که برابر با فریم مورد نظر شد و در آن فریم stop کند
اما اگه فریم جاری از فریم دلخواه ما بزرگتر نبود باید بگوییم به صورت معکوس عمل کند و برگردد به فریم قبلی و اینقدر این کار را ادامه دهد تا به فریم مورد نظر برسد :
و تمام
در نهایت تابع مورد نظر را در Event پرس btها فرا می خوانیم
کل کد به شکل زیر است :
می تونید یک نمونه آماده رو از آخر مبحث DL کنید
این مطالب ادامه خواهد داشت
نظری داشتین دریغ نفرمایید
---------------Take Care ------------------CMAX----------------------
gotoAndPlay می توانید TimeLine را کنترل کنید و به یک Tween بدون ایجاد پرش و یا ساخت حالتهای ممکنه امکان صرف نظر کردن از Stop و عبور از حالتهای میانی داد .
اصولا من باید این پست را در قسمت آموزش ارسال می کردم اما خوب چون عقیده دارم حداقل اینجا راحت تر
و بهتر قابل دسترسی است و کاربر شانس بیشتری برای دیدنش دارد اینجا ارسال شد .( با عرض پوزش از مدیر انجمن -- زحمتش با شما )
فرض کنید یک MC دارید و 4 عدد bt و می خواهید وقتی کاربر bt01 را انتخاب کرد این mc از محل خودش یعنی x0 تا x1 حرکت کند و اگر کلید 2 از x0 تاx2 و همینطور برای هر چهار کلید در نظر بگیرید و البته حالتهای میانی مثلا اگر mc در x1 بود و کاربر bt04 را زد از x1حرکت کند و در x4 توقف شود .
خوب بنظر کار ساده ای نیست اما اگه یه نگاهی به لیست زیر بیاندازید مشکل نیست
1- currentframe_ برای چک کردن شماره فریمی که الان دران قرار داریم
2- if برای چک کردن شماره فریم با فریم دلخواه
3- onEnterFrame برای چک کردن شرط ما در هر فریم
روش کار
شماره فریم را توسط آرگمان به تابع بدهیم
شماره فریم را چک کنیم تا معلوم شود شماره فریمی که در آن قرار داریم بزرگتر است یا شماره فریم مورد نظر ما
بر اساس نتیجه دستور های بعدی را اجرا کنیم
خوب اول تعرف تابع
کد:
function CtrlMov(frm:Number):Void
{
}
شرط ما
کد:
if (_currentframe<frm)
{
}
else
{
}
اگه فریم دلخواه ما بزرگتر از فریم جاری باشد فقط لازم است بگویم Play اما تا زمانی که برابر با فریم مورد نظر شد و در آن فریم stop کند
کد:
if (_currentframe<frm)
{
play();
onEnterFrame = function ()
{
if (_currentframe == frm)
{
stop();
delete onEnterFrame;
}
};
}
کد:
...
else
{
onEnterFrame = function ()
{
prevFrame();
if (_currentframe == frm)
{
delete onEnterFrame;
}
};
}
و تمام
در نهایت تابع مورد نظر را در Event پرس btها فرا می خوانیم
کد:
bt1.onPress = function()
{
CtrlMov(20);
}
کد:
function CtrlMov(frm:Number)
{
if (_currentframe<frm)
{
play();
onEnterFrame = function ()
{
if (_currentframe == frm)
{
stop();
delete onEnterFrame;
}
};
}
else
{
onEnterFrame = function ()
{
prevFrame();
if (_currentframe == frm)
{
delete onEnterFrame;
}
};
}
}
bt0.onPress = function()
{
CtrlMov(00);
};
bt1.onPress = function()
{
CtrlMov(20);
};
bt2.onPress = function()
{
CtrlMov(40);
};
bt3.onPress = function()
{
CtrlMov(60);
};
bt4.onPress = function()
{
CtrlMov(80);
};
می تونید یک نمونه آماده رو از آخر مبحث DL کنید
این مطالب ادامه خواهد داشت
نظری داشتین دریغ نفرمایید
---------------Take Care ------------------CMAX----------------------