برچسب: اکشن اسکریپت

معرفی بازیهای آنلاین فلش – Gibbets 2 LevelPack

یکی از بهترین منابع آموزشی برای طراحان حرفه‌ای فلش، بررسی و تحلیل پروژه‌ها و کارهای حرفه ای دیگران است. در این زمینه، بررسی بازیهای طراحی شده با فلش، جزء بهترین، آموزنده ترین و مفرح ترین تمرین‌ها قرار میگیرند.

 معمولا بازه وسیعی از تکنیکهای ترسیم و بهینه سازی در طراحی یک بازی با فلش مورد استفاده قرار میگیرند، چرا که اجرای بازی به صورت آنلاین، مستلزم بهینگی و سرعت کافی در اجرای آن میباشد.

 از این پس سعی می‌کنم که به معرفی برخی از بازیهای معروفی که با استفاده از تکنولوژی Flash طراحی شده‌اند بپردازم.

معیار بازیها به صورت زیر است:

–          طراحی و رنگ‌بندی حرفه‌ای (Design)

–          جلوه های صوتی مناسب (Sound Effects)

–          سرعت اجرا و کارایی مناسب (Performance)

–          رابط کاربری مناسب (User Interface)

–          داستان و روند اجرای ترغیب کننده (Plot)

 پس از معرفی هر بازی سعی میکنم با اتکا بر تجربه خود در طراحی و توسعه فلش، امتیازی بین 1 تا 10 به هر کدام از آیتمهای فوق اختصاص دهم.

 در این پست بازی بسیار زیبا و جذاب Gibbets را معرفی میکنم. این بازی تیر و کمان با استفاده از طراحی بسیار زیبا و جذاب خود، یک محیط فوق العاده گیرا و اعتیاد آور را فراهم کرده است.


ساخت ابعاد مختلف آیکون‌ها با Appiconizer

یکی از خسته‌ کننده‌ترین کارهایی که طراحان App ملزم به انجام آن هستند، طراحی ابعاد مختلف icon قبل از کامپایل برنامه است. با توجه به نوع برنامه مثلا Mobile، Desktop، Web، Extended و غیره، ابعاد مختلفی از icon های یک‌سان، مورد نیاز است که عموما با تبدیل ابعاد یکی از آنها به انجام می‌رسد.

برای حل این مشکل و راحت شدن از انجام این عمل تکراری، ابزار آنلاین Appiconizer را جهت انجام آن طراحی نموده‌ام که با دریافت یک فایل icon با ابعاد ترجیحی 512 یا 1024 و کیفیت مناسب، تمام ابعاد قابل پشتیبانی توسط حالات مختلف نرم‌افزار را برای شما تولید می‌نماید.

  appiconizer online


خواندن و نوشتن اشیاء اختصاصی در AS3 و عمل Serialization

یکی از مفاهیم بسیار مهم در جا‌به جایی اطلاعات، مبحث Serialization است که در مورد چگونگی قرارگیری داده‌ها در امتداد یکدیگر به منظور خواندن و نوشتن می‌پردازد.

flash as3

به عنوان مثال:
– ذخیره کردن یک کلاس در Shared Object
– خواندن و نوشتن اشیاء در ByteArray
– خواندن و نوشتن داده‌ها در فایل‌ها
– ارسال اطلاعات از طریق تکنولوژی‌هایی مانند AMF

موارد فوق همگی از حالاتی هستند که از مفهوم Serialization استفاده می‌گردد.

در زمان کار با داده‌های استانداردی مانند int، uint، String، Date، Array و …، AS3 می‌داند که اطلاعات ذخیره شده در این اشیاء را چگونه ذخیره و بازیابی نماید. اما اگر شئ مورد نظر از یک کلاس اختصاصی و غیر استاندارد ایجاد شده باشد، تعیین ترتیب خوانده و نوشته شدن محتوای آن شئ به عهده برنامه نویس خواهد بود.
(ادامه مطلب…)


بهینه‌سازی در AS3: پاسخدهی به رویدادها

اصولاً، AS3.0 یکی از زبان‌هایی است که تفاوت زیادی میان برنامه‌نویسان عادی و با تجربه، قائل می‌شود. چگونه؟ با کاهش کارایی!… چرا؟ از پدرش java به ارث برده است!

به دلیل شباهت زیادی که در ساختار این زبان با java وجود دارد، برنامه‌نویسان AS3.0 به مرور زمان، تمایل زیادی به برنامه‌نویسی ساخت یافته و لایه‌بندی شده پیدا می‌کنند. شئ‌گرایی بی حد و مرز باعث می‌شود که مفاهیم مخفی‌سازی (بخوانید Encapsulation) در تمام اجزای برنامه به وضوح دیده شود. تعریف انواع و اقسام Interface ها، کلاس‌های ایستا و پویا، ارث‌بری و اشیاء متنوع، به خودی خود، سبک برنامه‌نویسیان AS3.0 را به طراحی لایه‌های مستقل نزدیک می‌کند.

اما، خطری که همیشه در کمین این نوع از برنامه‌نویسی منطقی وجود دارد، کاهش کارایی در مدیریت حافظه است.

استفاده زیاد از الگوهای طراحی مانند Singleton برای بهینه‌سازی مصرف حافظه (هرچند که هدف اصلی آن نبوده است) و Proxy یا Facade جهت ساده‌سازی روابط بین کلاس‌ها و اشیاء در محیط‌های ManagedCode مانند Flash، گویای این مسئله است که گاهی، پس از طراحی منطقی کلاس‌ها و سازماندهی لایه‌ها، به میزان کمی از بی‌نظمی با هدف افزایش کارایی نیازمندیم.

از این پس، سعی می‌کنم در سلسله پست‌های بهینه‌سازی در کارایی، به طرح مواردی مانند نکات برنامه‌نویسی بهینه و حتی الگوهای طراحی سودمند در این رابطه بپردازم.

flash_logo

در این مطلب به یکی از مهمترین منابع کاهش کارایی که همان EventHandler ها هستند پرداخته می‌شود.

در زبان AS3.0، قدرت شئ‌گرایی java به همراه قدرت پردازش بصری محصولات شرکت Adobe در یک جا جمع می‌شوند.
نتیجه این می‌شود که کلیه ترسیمات و اشکال گرافیکی را به سادگی، در قالب اشیاء تعاملی (Interactive Objects) تعریف نموده و بارها از آنها استفاده می‌کنیم. تعریف ساده انواع کامپاننت‌های گرافیکی داده‌ای مانند List، Grid و Combo همگی از این دست هستند.

اما از آنجا که این اشیاء، بار تعاملی بودن را نیز به دوش می‌کشند، لاجرم به رویدادها نیز باید پاسخ دهند. اینجا است که بهینه‌سازی حرف اول را می‌زند. یک برنامه کاملا اصولی و منطقی نوشته شده، ممکن است فاقد کارایی لازم باشد.

(ادامه مطلب…)


استفاده از تاریخ هجری در ActionScript 3.0

یکی از بسته‌های بسیار مفیدی که با انتشار Adobe Flash Player 10.1 ارائه شد، مجمموعه کلاس‌های flash.globalization هستند که حاوی امکانات مختلفی جهت محلی سازی متون، تاریخ، اعداد و غیره می‌باشند.

کلاس DateTimeFormatter در این مجموعه دارای قابلیت تغییر قالب تاریخ جاری سیستم به قالبهای میلادی، هجری و ژاپنی می‌باشد. برای انجام این کار، کافیست که یک نمونه از این کلاس ایجاد کرده و یک شئ از نوع Date را به تابع format آن ارسال کنیم:

import flash.globalization.DateTimeFormatter;

var dt:Date = new Date();
var dtf:DateTimeFormatter = new DateTimeFormatter("ar-SA");
trace(dtf.format(dt));

و یا نمونه ساده تر آن در یک خط:

trace( (new DateTimeFormatter("ar-SA@calendar=islamic")).format(new Date) );


  • آرشیو:

  • .
    Copyright (c) 2010 www.mshams.ir