| شايد شما هم به اين مشكل برخورده باشيد كه اگر بخواهيد با افكت هاي SWiSHmax ، يك متن را در يك فلش به عنوان زيرنويس از راست به چپ يا بلعكس ( يا حتي بالا به پايين ) حركت دهيد بسته به طول آن مجبوريد زمان افكت را افزايش دهيد كه اين كار سبب بالا رفتن سايز فلش مي شود .
خود بنده بار ها با اين مشكل رو به رو شدم كه در يك فلش لازم بود يك جمله نسبتآ طولاني حالا به عنوان خبر يا تبليغات ، بايد از يك سمت وارد مي شد و سمت ديگر خارج مي شد كه اگر براي اين كار از افكتهاي پيش فرض سوئيش استفاده مي كردم ، چيزي در حدود 200 فريم براي اين حركت لازم بود كه فقط اين افكت سواي موارد ديگري كه در آن فلش به كار برده بودم ، يكي – دو مگابايت سايزش افزايش پيدا مي كرد كه عملآ غير قابل استفاده بود . پس براي حل اين مشكل دست به گريبان اسكريپت شدم تا نهايتآ به نتيجه رسيدم . از اين طريق براي انتقال هر متن (حتي هر آبجكتي ) به هر اندازه اي فقط يك فريم نياز داريم ، كاملآ حرفه اي و كاربردي .
نمونه اين كار را در Homepage سايت در متن به صورت حركت افقي و در نگاتيو به صورت حركت عمودي ملاحظه مي توانيد كنيد . در اين آموزش من نحوه حركت يك متن از چپ به راست را به صورت كامل توضيح خواهم داد . پس با ما همراه شود .
1- ابتدا يك Text بسازيد و نام آن را هم text قرار دهيد . مي توانيد در آن جمله مورد نظر خود را تايپ كنيد . سپس روي آن راست كليك كرده و آنرا باستفاده از گزينه Break into Shape در تب Break به يك Shape تبديل كنيد .
2- حال روي آن راست كليك كرده و از طريق گزينه Convert to Sprite آن را به سك اسپريت تبديل كنيد و text_ قرار دهيد . دوباره اين كار را روي اسپريت جديد انجام بديد و اينبار نام آن را mainmenu قرار بديد .
3- در اين مرحله بايد براي اسپريت mainmenu اسكريپت بنويسيم . پس وارد تب Script شويد . براي سهولت كار روي Guided در همان تب كليك كنيد و گزينه Expert را انتخاب كنيد و كد هاي زير را در آن Past كنيد .
onLoad () { speed = 50
menuWidth = text_._width+150; startX = this._x; }
onEnterFrame(includingFirstFrame){ if (this._x >= menuWidth || this._x <= (startX-menuWidth))
this._x = startX-140; } onFrame (1) { this._vx = speed; }
4- در اين مرحله از پنل سمت چپ وارد تب Export شويد و Script را از Export Options for: انتخاب كنيد . سپس ورژن SWF6 را انتخاب كنيد و تيك گزينه هاي Expose swf6 properties و Support physics properties را فعال كنيد .
حال مي توانيد نتيجه كار را ببينيد .
نكته : براي حركت هاي عمودي كافيست x ها را به y تبديل كنيد .
توضيحاتي در مورد اسكريپتها :
مقدار Speed سرعت حركت متن را تعيين مي كند .
پارامتر تابع OnFrame كه در اينجا يك است . لحظه شروع حركت را معين مي كند .
اگر دقت كنيد مي بينيد كه من دو جا اعداد 150 و 140 را كم و زياد كردم . در اين دو محل شما مي توانيد با كم و زياد كردن مقدار به نتيجه مورد نظر برسيد كه نياز به سعي و خطا و آزمايش دارد . (اعداد 140 و 150 فقط جنبه مثالي دارند. ) |