حركت movi با حركت ماوس

سلام من خيلي گيرم يكي كمكم كننننننننننننننننننننننننننننه .
مي خوام يه كاري كنم كه مثل سايت بهرام رادان movi با ماوس حركت كنه .مثل اين لينك http://www.bahramradan.com/highband .كسي ميتونه تو نوشتنش كمكم كنه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
 

Member
به این حالت میگن پانورما و با چند تا محاسبه ساده ریازی میتونی کار رو انجام بدی
یه مثال ساده AS2 برات گذاشتم یه چند تا if با یه چند تا ضرب و تقسیم قاطیش کن میشه همون که میخواستی
 

پیوست ها

  • dd.rar
    5.3 کیلوبایت · بازدیدها: 80

lorddigic

Member
سلام دوست من.

سایت بهرام رادان یک MovieFlash نیست! این سایت دقیقاً یه فلش معمولیه که به جای دکمه داره از یه موی کلیپ استفاده میکنه و شما فقط روی بک گراند اون که یه عکسه داری حرکت میکنی!

پس شاید بهتر باشه که سوالتو عوض کنی و بپرسی کسی می دونه چه جور میشه یه فلش رو خلاف حرکت موس تو محدوده نمایشش جابجا کرد؟!!
 

namin72

Member
می تونی یک عکس بزرگ که همه این محیط رو شامل میشه بزاری و روش یک ماسک. بعد براش تعریف کنی که هر جا مووس رفت اون هم بر عکس جهت بره. من as3 خوب بلد نیستم ولی تو as 2 این طوریه. اگه می تونی به as3 تبدیلش کن.
 

پیوست ها

  • Desktop.zip
    330.9 کیلوبایت · بازدیدها: 104

++Hadi++

Active Member
سلام عزیزم
اگه می خوای حرکاتش هم نرم و روون و سرعت دار باشه (از تند به کند ) به این چیزایی که نوشتم توجه کن .
این راه منو پیش بری ، به هدف نهاییت می رسی.
من یه راه پیشنهاد می کنم که کارتو حل می کنه. راهی که می گم خیلی خیلی ساده هست و یه روزه دستت می یاد.
این تریپ چیزا رو بهتره با transition خود فلش یا با کلاسهایی مثل TweenMax انجام بدی.
Tween max چیه ؟
TweenMax یه سری کلاس های رایگان و آماده هستند که به راحتی اونا رو از وب دانلود کرده و اجرا می کنید .
کار کردن با اونها خیلی راحته و مثلا برای اینکه یه مووی کلیپ به اسم نمونه ای mc رو به نقطه با مختصات ایکس 4 و یگرگ 5 ببری کافیه بعد از وارد کردن این کلاس ها در پروژه ، دستورات زیر رو بنویسی :
PHP:
import gs.TweenMax;//ورود کلاس توین مکس
import gs.easing.*;//ورود کلاسهای منحنی های توین مکس
import gs.events.TweenEvent;//ورود کلاسهای رویداد های توین مکس
TweenMax.to(mc,1,{x:4,y:5,ease:Back.easeOut});
آخرین دستور می گه که در 1 ثانیه ، مووی کلیپ mc رو به مختصات ایکس 4 و ایگرگ 5 ببر . حالا ease چیه ؟ ease در واقع یه منحنی رو تعریف می کنه و حالت آهنگ تغییرات در عرض بازه زمانی که تعریف کردیم رو نشون می ده . یعنی چی ؟ مثلا می گه در حالت شروع به نقطه ایکس 4 و ایگرگ 5 برو و در این حرکت اولش باید حرکتت کند تر باشه و کم کم باید به سرعتت اضافه شه و آخرش هم سرعتت در نزدیکی نقطه پایان کم شه تا در نقطه پایان به صفر برسه .
منحنی های زیادی رو Tweenmax تعریف کرده و حالات زیادی رو از تغییرات در بازه زمانی تعریف کرده . مثلا اینکه اولش یکم عقب بره و بعد جلو بره و در انتها کمی جلوتر از مسیر تغییرات حرکت کنه و در انتها ، عقب تر بیاد و به نقطه پایانی قرار بگیره. در ضمن باید در حالت MOUSE_OUT هم یه دستوری رو به سبک زیر بنویسی که تصویر زمینه به حالت پیش فرض و معمولی نقطه وسط خودش پیش بره .
توجه کن که این دستوراتو به اکشن اسکریپت 3 نوشتم .
دستور اسکرولی هم که گفتین یه همچین حالتی می شه :
PHP:
background.addEventListener(MouseEvent.MOUSE_MOVE,funScroll);
function funScroll (evt:MouseEvent):void
{
TweenMax.to(background,1,{x:mouseeX,y:-mouseY,ease:Back.easeOut});
}
منظور از background همون تصویر بزرگ هستش .البته این فرمول باید ایکسش ضربدر نسبت تناسب بک گراند عکس بزرگ نسبت به بک گراند ماسک بشه و ایگرگش هم باید ضربدر نسبت تناسب بک گراند بزرگ نسبت به ماسک بشه و فرمول کاملی نیست و باید یکم مقادیر mouseeX و mouseY رو کم و زیاد و ضرب و تقسیم کنی تا حرکتت تنظیم شه . در کل باهاش ور بری ، به دست می یاریش .
شاید بعدا یه مثال واسه دانلود گذاشتم...
یه چیز دیگه : در فرمول بالا mouseeX غلطه ولی چیکار کنیم که اگه یکی از حروف e اونو حذف کنیم ، ساختار سانسوری سایت ، سه حرف آخرشو به عنوان یه حرف بد و مستهجن سانسور می کنه . پس در نوشتن کد بالا ، یکی از ثe های mouseeX رو حذف کن .
موفق باشی...
 
آخرین ویرایش:

namin72

Member
من از سایت خودش تونستم گیر بیارم با نمونه. هم برای as2 و هم برای as3
 

پیوست ها

  • greensock-tweening-platform-as2.zip
    392.2 کیلوبایت · بازدیدها: 49
  • greensock-tweening-platform-as3.zip
    403.8 کیلوبایت · بازدیدها: 75

++Hadi++

Active Member
سلام
برای استفاده از این کلاسها کافیه فولدر gs رو که در اون کلاسهای اکسترنال Tweenmax هست ، کنار سورس فلش یا کلاس اصلی کار راه انداز فلش قرار بدیم و در دستورات اکشن سورس بنویسیم :
PHP:
    import gs.TweenMax;//ورود کلاس توین مکس
    import gs.easing.*;//ورود کلاسهای منحنی های توین مکس
    import gs.events.TweenEvent;//ورود کلاسهای رویداد های توین مکس
TweenMax.to(mc,3,{x:12,y:50,alpha:1,ease:Back.easeOut,onStartListener:StartFun,onCompleteListener:EndFun});
function StartFun(evt:TweenEvent):void
{
     trace("Start");
}
function EndFun(evt:TweenEvent):void
{
     trace("End");
}
خواهی دید که مووی کلیپی به instancename به نام mc در هر ایکس و ایگرگی باشه ، به ایکس 12 و ایگرگ 50 می ره و این حرکت در سه ثانیه اتفاق می افته و آهنگ تغییراتم به صورتیه که اول ، عقب می ره و بعد تمام مسیرو طی می کنه و در نهایت کمی عقب تر می یاد تا به نقطه پایان برسه ، البته مطمئن میستم ولی تست کن . در ابتدای حرکت هم تابع StartFun اجرا می شه و همین که حرکت به پایان می رسه EndFun اجرا می شه .
در ضمن از خصوصیات Tweenmax که اونو بارز کرده ، سبک بودن فایل های خروجی و پایین اومدن process پردازنده CPU و همچنین تنوع در تعداد منحنی های تغییرات در انواع مختلف و نیز باز بودن دست کاربر در تغییر فیلتر ها و بلندر ها و انواع و اقسام چیزای دیگه هست .
حتی من می بینم که در کاربرد های 3 بعدی فلش مثل papervision ، ما می تونیم در محیط 3 بعدی که منطقش با محیط 2 بعدی فرق می کنه ، خیلی خیلی ... چیزا رو با این کلاسها تغییر بدیم ...
در هر صورت استفاده از این کلاسها به جای ترنزیشن فلش خیلی بهتره ...
همچنین آلفای اونم با همین آهنگ تغییر می کنه .
اون مثالی که namin72 گذاشته یکی از بهترین sample های Tweenmax هست و هر حرکتی که مرتکب می شی کدش رو هم می نویسه .
دانلود کن و استفاده کن .:green:
همچنین جناب آقای ارجمند در وب لاگشون به آدرس http://ilflash.ir این مبحث رو به اضافه یه چیزای دیگه ای آموزش دادن ...
حتما یه سر بزنید .
همچنین می تونین delay تعریف کنین که بعد از مثلا یک ثانیه یا چند ثانیه ، یه حرکت انجام بشه ...
معین باشید...
 

namin72

Member
این هم نمونه قبلی ولی این کلاس رو بهش اضافه کردم برای کسی که این تاپیک رو زد و بقیه دوستان. ( البته که می دونم همه استاد منند ولی یکم برای اساتید خود شیرینی کنیم دیگه.):green:
امید وارم به دردت بخوره.:oops:
نمونه:
 

پیوست ها

  • Desktop.zip
    425.5 کیلوبایت · بازدیدها: 43

++Hadi++

Active Member
از نامین عزیز تشکر می کنم.
می تونی اینو با حالت ماسک درست کنی و مووی کلیپ ماسک و ماسک شده رو به یه مووی کلیپ دیگه (تجمعی ) تبدیل کنی و از بیرون به حالت MOUSE_OVER , MOUSE_MOVE,MOUSE_OUT اون دستور بدی و هر وقت موس روش اومد ، اتفاقات اسکرولی بیفتند و هر وقت موس رفت بیرون ، تصویر مرکزیت به نقطه مرکزیش بره و برای رفتن به نقطه مرکزیش کافیه بنویسی :
PHP:
TweenMax.to(BackGround,1,{x:0, y:0,ease:Back.easeOut});
و این دستور در فانکشنی هست که با MOUSE_OUT شدن مووی کلیپ یاد شده ، به اجرا در می یاد.
ولی باز کارت عالی بود ...


خطاب به icwiiw دوست داشتنی
دست شما هم درد نکنه ، آموزش های خوبی بودند...
بای...
 
آخرین ویرایش:

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

بالا