مشکل با movie clip

سلام
دوستان عزیز

من وقتی یک شی نا منظم رو به مووی کلیپ تبدیل می کنم دور اون یه مستطیل آبی می آد که در حال اجرا وقتی موس روی این مستطیل بره و کللیک کنی ستورات اون مووی کلیپ اجرا می شه اما من می خوام فقط در حالتی دستورات اجرا بشه که موس دقیقا روی مووی کلیپ کلیک کنه .یعنی اون فضا های خالی دور شی داخل مستطیل هیچ کاره باشند
ممنون:rose:

.:موفق باشید:.
 

mshgames

Well-Known Member
سلام


اگر فقط هدفت کار با ماوس کافیه مقدار پارامتر سوم در تابع hitTest برابر true قرار بدی همین

یه مووی بساز این کدو بهش بده حالا ماوسو بهش بزن زمانی که میزنی آلفاش 50 میشه و برمیداری آلفاش 100 دقیقا شکلت نامتقارن باید باشه.

PHP:
onClipEvent (mouseDown) {
   if(this.hitTest(_root._xmouse,_root._ymouse,true)){
      _alpha=50
	  trace("برخورد");
   }else{
      _alpha=100
   }
}


اینم یه نمونه من دور شکلتو همون کادرو کشیدم (البته از تابع getBounds هم میشه اما اینجا نیاز نیست)


موفق باشی:wink:

محمد
 

پیوست ها

  • Saeed22.rar
    4 کیلوبایت · بازدیدها: 4
آخرین ویرایش:

khorzu

Member
برای اشکالی که منظم نیستند hitTest چجوری پیاده می شه ؟
مثلا فرض کن دو تا ابر . به جز تکنیک مستطیل محاط.
 
سلام
ولی آقا خرزو جواب منو با کد مشابهی به یه سوال دیگه دادند و اون هم پارامتر سوم رو true گذاشته بود ولی همون مشکل وجود داشت
یعنی با کلیک بروی مستطیل احاطه کننده آن شی ناممنظم دستورات اجرا میشه
البته فایل رو ندیدم چون تو دانشگاهم

اما فکر کنم اشتباه متوجه شدید . من می خواهم اگه مثلا یه ستاره رو به مووی کلیپ تبدیل کردم دستورات این مووی کلیپ در صورتی اجرا بشه که کاربر دقیقا روی ستاره کلیک کرده باشه نه روی مستطیل
 
آخرین ویرایش:

mshgames

Well-Known Member
سلام
دوسته عزیز شما فایلو دانلود کن میبینی درست کار میکنه

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


موفقباشی
 

arashtavoosi

Active Member
آقا حتما movieclip ی که ساختی مشکل داره و اگر نه نباید hitArea اش مستطیل باشه این اولین باره که می شنوم همچین مشکلی بوجود اومده. شاید مشکل از این باشه که یه movieclip دیگه یا یه button یا هر چیز مستیطلی شکل دیگه ای اونجا وجود داره که این مشکل رو ایجاد کرده. خلاصه اینکه hitArea برای هر movieclip همون شکلیه که دیده می شه مگر اینکه یه movieclip دیگه رو بهش نسبت بدیم.
فقط یه چیز دیگه امکان داره اونم اینکه شما با Flash 4 یا Flash lite 1 کار کنید چون اونجا مساله فرق می کنه.
 

mshgames

Well-Known Member
سلام


گفتم که باید از getBounds برایه محاسبه مووی استفاده و از HitTest بزار یه نمونه بگم بهتره(مقدار پارامتر سوم باید true باشه)

یه مووی شکل دایره درست میکنی سپس کد زیرو بهش میدی.
PHP:
onClipEvent(enterFrame){
   if(Key.isDown(Key.RIGHT)){
      this._x+=5
   }
   if(Key.isDown(Key.LEFT)){
     this._x-=5
   }
   if(Key.isDown(Key.UP)){
      this._y-=5
   }
   if(Key.isDown(Key.DOWN)){
      this._y+=5
   }
   if(_root.cloud.hitTest(this.getBounds(_root).xMin,_y,true)){
      _x+=7
   }
   if(_root.cloud.hitTest(this.getBounds(_root).xMax,_y,true)){
      _x-=7
   }
   if(_root.cloud.hitTest(_x,this.getBounds(_root).yMin,true)){
      _y+=7
   }
   if(_root.cloud.hitTest(_x,this.getBounds(_root).yMax,true)){
      _y-=7
   }
}

حالا یه مووی کجو کله دیگه بساز اسمشو در قسمت Instance Name بده cloud

حالا اجرا کن
 

پیوست ها

  • hit.rar
    5.1 کیلوبایت · بازدیدها: 5

Avang2005

مدیر انجمن
سلام دوست من

با تشكر از محمد عزيز

دوست عزيز از همين روشي كه محمد عزيز گفتن استفاده كن كارت راه ميفته

موفق باشيد
 
سلام
دوستان این فایل پیوست رو ببینید تا به مشکل من پی ببرید
 

پیوست ها

  • saeed.rar
    4.4 کیلوبایت · بازدیدها: 6

Avang2005

مدیر انجمن
سلام دوست من


من كه اصلا متوجه نشدم شما الان در اين نمونه گفتيد وقتي رويداد mouseDown انجام شد و اون موي كليپ در اون مختصات


قرار گرفته بود اون پيامو ميده آخه اينو بري چه كاري مي خواي اون مربع آبي رنگ رو هم كه مي گي اون براي نمايش موي كليپ بودن


اون شكله يا ... شما براي متن كافيه گليد هاي تركيبي Ctrl + B رو بزنيد و بعد به موي كليپ تيديل كنيد


براي رسيدن به جواب بگيد براي چه كاري مي خواي و چه كاري رو بايد انجام بده

موفق باشيد
 

arashtavoosi

Active Member
مشکل این بود که hitarea ی textfield مستطیل و خول hitarea ی movieclip هم مستطیل می شه. باید textField ها رو break apart کنی یعنی به shape تبدیلشون کنی که flash اونها رو همونجوری که هستند در نظر بگیره.
من دو تا فایل برات upload کردم یکی اینکه اگه رو هر کدوم کلیک کنی اسم اونی که از همه بالاتره رو می نویسه و دومی وقتی روش کلیک می کنی اسم تمام movieclip های زیر نقطه click رو می نویسه.
البته اینم بگم که اگه بخوای dynamic text داشته باشی هم می شه ولی یکم سخت تره و البته حداقل plash palyer 8 رو لازم داره :).
 

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

بالا