Timer

***UNIQUE***

Active Member
سلام
شما یه نمونه Timer دارید که با شکل گذشت زمان رو نشون بده مثلا" در عرض 1 دقیق یک دایره پر بشه؟
من چطوری میتونم اینکارو انجام بدم؟
 

***UNIQUE***

Active Member
سلام
یه سوال دیگه راجع به timer :
در فایل های زیر فایل TimerCorrect یکی از Sample های فلش بود .من تمام فریم های همین فایل رو در فایل untitled 1 کپی کردم اماکار نمیکنه میشه ببینید مشکلش چیه ؟!
من چطوری میتونم یه Timer به این صورت ایجاد کنم که کار کنه ؟؟؟
ممنون میشم راهنمایی کنید
 

پیوست ها

  • TimerCorrect.rar
    4.3 کیلوبایت · بازدیدها: 9
  • Untitled-1.rar
    6.1 کیلوبایت · بازدیدها: 4

Security9776

Active Member
سلام ،
برای ساخت تایمر به صورت شکلی که شما می تونید یک مووی کلیپ درست کنید و با استفاده از لایه ماسک بر مبنای سرعت فریم ها تون طی مثلا یک دقیقه اون حالت رو ایجاد کنید .
ولی اگر بخواهید از اکشن استفاده کنید شما می تونید با یکسری دستور و استفاده از همون Interval این کار رو دقیق انجام بدید و با استفاده از یک لایه ماسک و یک مووی کلیپ و تغییر مقدار x و یا y اون این کار رو بکنید .

در مورد اون 2 فایل تایمر هم جالبه . من دقت نکرده بودم . باید نگاه کنم ببینم مشکل از چیه !

موفق و سربلند باشید ، محسن
 

***UNIQUE***

Active Member
سلام
----------------------------------
برای ساخت تایمر به صورت شکلی که شما می تونید یک مووی کلیپ درست کنید و با استفاده از لایه ماسک بر مبنای سرعت فریم ها تون طی مثلا یک دقیقه اون حالت رو ایجاد کنید .
ولی اگر بخواهید از اکشن استفاده کنید شما می تونید با یکسری دستور و استفاده از همون Interval این کار رو دقیق انجام بدید و با استفاده از یک لایه ماسک و یک مووی کلیپ و تغییر مقدار x و یا y اون این کار رو بکنید .
------------------------------------
من متوجه نشدم شما چی گفتید .مثلا" برای حالت اول چطوری تنظیم کنید در عرض 1 دقیقه اون شکل پر بشه ؟؟!
مورد دوم رو هم متوجه نشدم میتونید با کد بهم نشون بدید.

برای اون دو تا فایل Timer هم منتظر کمک شما هستم.
با تشکر
 

***UNIQUE***

Active Member
برای مورد اول متوجه شدم
فکر کنم منظورتون اینه که من FrameRate رو مثلا" 1 بذارم و 60 تا فریم هم برای پر شدن شکلم بذارم درسته؟
ببخشید یه سوال من میتونم با Action فریم ریت رو تغییر بدم؟؟چون من میخوام کاربر بتونه زمان timer رو تغییر بده مثلا" خودش تعین کنه در عرض دقیقه پر بشه یا 2 دقیقه ؟
ممنون میشم برای اون مورد دوم و اون دو تا فایل هم راهنماییم کنید
با تشکر از توجهتون
 

Security9776

Active Member
سلام ،
نه شما این امکان رو ندارید که FPS رو تغییر بدید . پس می مونه راه حل دوم .
ببینید برای راه دوم شما می تونید یک فانکشن تعیین کنید که این قسمتش فکر نکنم سخت باشه و یک اینتروال هم براش تعیین کنید که با کمک این دو شما زمان رو محاسبه می کنید .
بعد شما می تونید از یک مووی کلیپ که به اون ماسکتون رو دادید استفاده کنید . بعد شما می تونید با تعیین پارامتر x, y مووی کلیپی که برای اون یک لایه ماسک قرار داده اید اون حالت رو ایجاد کنید .
که با قراردادن یک پارامتر هم برای این فانکشن شما می تونید مشخص کنید که این ظرف مثلا طی چند ثانیه پر بشه .

اگه متوجه نشدید شما شکلی رو که می خواهید این کار بر روی اون انجام بشه رو قرار بدید تا من براتون درست کنم .

موفق و سربلند باشید ، محسن
 

***UNIQUE***

Active Member
نمیدونم متوجه شدم یا نه !
ولی فکر کنم این قسمتش رو متوجه نشدم
--------------------------------------------------------------------------------
بعد شما می تونید از یک مووی کلیپ که به اون ماسکتون رو دادید استفاده کنید . بعد شما می تونید با تعیین پارامتر x, y مووی کلیپی که برای اون یک لایه ماسک قرار داده اید اون حالت رو ایجاد کنید .
---------------------------------------------------------------------------------
شکل خاصی هم ندارم هر چی باشه فرق نمیکنه
اگر فرصت دارید ممنون میشم نمونه با هر شکلی که باشه فرق نمیکنه برام بذارید
بسیار ممنونم
 

Security9776

Active Member
تایمر

سلام ، :)
این هم نمونه فایل ،
شما می تونید زمان رو بر حسب ثانیه هم تعیین کنید . جوریه که فکر کنم تغییر شکلش هم براتون راحت باشه !:neutral:

موفق باشید ، محسن
 

پیوست ها

  • Timer.rar
    2.5 کیلوبایت · بازدیدها: 12

***UNIQUE***

Active Member
سلام
من توی کدی که شما نوشتید یکم به اشکال برخوردم ممنون میشم برای موارد زیر راهنماییم کنید:
در این قسمت کد
کد:
		Start = Number(Start)+0.3;
		WPS = 300/Number(Param1);
		NewWidth = WPS*Start;
و
کد:
on (release) {
	Start = "0";
	Timer_I = setInterval(Timer,300,Seconds);
}
جواب خط
WPS = 300/Number(Param1);
میشه 5 و بر فرض اینکه بخوایم در عرض 60 ثانیه پر بشه اگر این تابع 60 مرتبه اجرا بشه پهنای اون مستطیل که 300 است پر میشه
پس آیا میتونیم بگیم این تابع هر 1000 میلی ثانیه اجرا شه
Timer_I = setInterval(Timer,1000,Seconds);
و بر اساس فرض بالا این خط
Start = Number(Start)+0.3;
را حذف کنیم و یه Paramet بذاریم که هر بار 1 واحد افزایش پیدا کنه و در کد زیر
WPS = 300/Number(Param1);
NewWidth = WPS*Start;
بجای پارامتر start قرار بگیره و Width جدید رو بسازه؟
اگر نمیشه و این راهی که من میگم اشتباه یه مقدار راجع به اعدادی که نوشتید ممنون میشم توضیح بدید .چون من یه جورایی گیج شدم
 

Security9776

Active Member
سلام ،
والا کد های بالا خیلی سادست . ببینید من یک فانکشن تعریف کردم . این فانکشن که وظیفه انجام عملیات رو داره
هر 300 میلی ثانیه یکبار اجرا می شه یعنی خط : Timer_I = setInterval(Timer,300,Seconds);
خوب . حالا یک متغییر به نام Start هم تعریف کردم که این استارت نمایش دهنده این هست که این فانکشن چند بار اجرا شده و چون من هر 300 میلی ثانیه یک بار صداش می زنم هر دفعه 0.3 ثانیه بهش اضافه می کنم ( به عبارت بهتر بگم هر 3 باری که فانکشن صدا زده بشه تقریبا یک ثانیه می گذره ) .
خوب حالا من اومدم این خط دستور رو قرار دادم :
WPS = 300/Number(Param1);
در این خط مقدار ثانیه ای که شما تعریف کرده اید در متغییر Param1 قرار می گیره و چون طول اون میله ما هم 300 هست ما تعیین می کنیم که تو هر بار صدا زدن این فانکشن چه مقداری باید به طول اون میله اضافه بشه .
بعد هم مقدار طول جدیدمون رو از ضرب مقداری که باید اضافه بشه و تعداد باری که فانکشن اجرا شده به دست می
یاریم : NewWidth = WPS*Start;
بعدش هم که طولش رو تنظیم می کنیم .

حالا اگه شما بخواهید که اینتروال رو برابر 1000 میلی ثانیه یا همون یک ثانیه قرار بدید شما باید خط
Start = Number(Start)+0.3;
رو به
Start = Number(Start)+1; تغییر بدید
( یعنی مقدار میلی ثانیه تقسیم بر 1000 رو به مقدار Start اضافه کنید ! که در اصل همون اضافه شدن یک واحدی هست .

امیدوارم متوجه شده باشید ( خودم که نشدم ! )

اگه مشکلی بود بپرسید .

موفق و سربلند باشید...
 

***UNIQUE***

Active Member
سلام
بله متوجه شدم (همونی که بالا گفتم میشه )
اما یه خورده عددهای خورده دار گذاشته بودید من گیج شدم
بسیار ممنون از راهنماییتون
 

جدیدترین ارسال ها

بالا