فعال سازی و غیر فعال سازی رویدادها

BehrouzPc

پــــادشــاه فــلــــش
optimaize_flash_iflashlord.jpg


بهینه سازی در فلش یک اصل مهم به حساب می آید و افزایش و کار بر روی آن برای توسعه دهندگان فلش امری الزامی است. به عنوان یک توسعه دهنده فلش و به عنوان کسی که برای آینده این نرم افزار بزرگ احساس مسئولیت می کند ، ما وظیفه داریم در ساخت عناصر فلش که کارایی بهتری دارند پیش گام باشیم و همواره بهترین و بهینه ترین روش را استفاده کنیم. در این مجموعه آموزشی بهینه سازی فلش به نکات مهم برای مدیریت بر عناصر و حافظه ها … می پردازیم و تلاش می کنیم که بتوانیم با استفاده از نکات ارائه شده خروجی بهینه تر و سبک تری از پروژه فلش خود داشته باشیم.


فعال سازی(Activate) و غیر فعال سازی(Deactivate) رویدادها

از زمان انتشار فلش پلیر ۹ (Flash Player 9) دو رویداد (Event) به فلش افزوده شد (رویداد Event.ACTIVATE و رویداد Event.DEACTIVATE) این رویداد ها می توانند برای شما امکان تنظیم برنامه خود برای استفاده از کمترین میزان سیکل پردازنده (CPU) را امکان پذیر سازند.

این رویداد ها این امکان را به شما می دهند که زمانی که روی فلش شما تمرکز (فوکوس) می شود و یا زمانی که تمرکز (فوکوس) از روی آن خارج می شود را تشخیص دهید. در نتیجه ، می توان کد را برای نشان دادن واکنش به تغییرات فعال و غیر فعال شدن بهینه سازی نمود.
نکته : استفاده از رویدادهای Event.ACTIVATE و Event.DEACTIVATE برای تشخص عدم فعالیت برنامه ای که در پس زمینه کاری قرار دارد و بهینه سازی برنامه شما مناسب می باشد.
در کد زیر از هر دو رویداد استفاده می کنیم و به صورت پویا نرخ فریم (Frame rate) را در زمانی که فوکوس (Focus) از برنامه خارج شود روی صفر تنظیم می کنیم. به عنوان مثال زمانی که شما به تب دیگر از مرورگر می روید و یا خارج از محیط قرار گیری فلش در صفحه کلیک می کنید و یا برنامه را در پس زمینه کاری قرار می دهید برنامه شما از فوکوس خارج می شود.
PHP:
//تعریف متغییر نرخ فریم جاری و نرخ فریم حالت غیر فعال
var originalFrameRate:uint = stage.frameRate;
var standbyFrameRate:uint = 0;
 
stage.addEventListener ( Event.ACTIVATE, onActivate );
stage.addEventListener ( Event.DEACTIVATE, onDeactivate );
 
function onActivate ( e:Event ):void
{
// بازگرداندن نرخ فریم اصلی
stage.frameRate = originalFrameRate;
}
 
function onDeactivate ( e:Event ):void
{
// تنظیم نرخ فریم بر روی صفر
stage.frameRate = standbyFrameRate;
}
زمانی که روی برنامه شما دوباره فوکوس می شود ، نرخ فریم به حالت اصلی بازگردانده می شود و برنامه شما به کارش ادامه می دهد. در ضمن شما به جای استفاده از تغییر نرخ فریم به صورت پویا می توانید بهینه سازی های دیگر مانند فریز کردن اشاء ، دادن افکت بلور و… را درون برنامه خود در نظر بگیرید.
این رویداد ها به شما این امکان را می دهد که مکانیزمی شبیه به Pause و Resume که در واقع امکان ایجاد مکث و وقفه در برنامه و امکان ادامه دادن آن در زمان دلخواه می باشد را ایجاد کنید. نمونه ی این ویژگی را شاید گاهی اوقات در برنامه های تلفن های همراه و یا نت بوک های دیده باشید ، شما هم می توانید به برنامه خود اینچنین امکانی را اضافه کنید.
موفق و پیروز باشید.


منبع
 

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

بالا