واضح آرشیو وب فارسی:سایت ریسک: رویداد mouse_out برای دکمه rahnama 66 22 ارديبهشت 1389, 09:59سلام من یک مشکلی دارم: دکمه های عادی در فلش رویداد out ندارند. چصوری میشه واسشون تعریف کرد؟ من یک movieclip ساختم و براش action نوشتم یعنی از listenerها استفاده کردم ولی نتونستم یک مثال ساده برای اینکه منطورم رو بفهمین: وقتی موس میره رو دکمه یواش یواش رنگش روشن بشه (یه movieclip) وقتی موس از روش میره کنار(out) دکمه یواش یواش رنگش تیره بشه (یه movieclip) ++Hadi++ 22 ارديبهشت 1389, 10:38MOUSE_OUT رویدادی هست که وقتی موس در حالت عادی و بدون فشار دکمه ای خاص ، از روی شیئی خارج می شه اون اتفاق می افته . می تونی به داخل مووی کلیپی خاص بری و واسش فریم تعریف کنی مثلا فریم 1 استپشه و حالت عادیشه . فریم 2 به بعد حالت over اون هست و این حالت انیمیشنی تا مثلا فریم 10 ادامه داره . بعد در فرم 10 استپ شده . فغریم 11 به بعد هم مثلا حالت out اجرا می شه و بعد دوباره به فریم 1 بر می گرده (آخر آخرشو stop نذاشتی ) .. خوب در داخل این مووی کلیپ (دو بار کلیک روی این مووی کلیپ) یه لایه کلی باز می کنی و روی اولین فریمش (جوری که دستورات فریم های بعدی رو هم شامل بشه ) یه shape دکمه ای درست می کنی و اونو select می کنی و F8 رو رو اون می زنی و پنجره convert to symbol ظاهر می شه و نوع MovieClip رو انتخاب می کنی و در داخل اون ، روی فریم های 2 و 10 و مثلا 20 در تایم لاین ، F6 رو می زنی تا به این فریم ها ، انیمیشن بدی ، می نویسی : this.buttonMode=true; this.addEventListener(MouseEvent.MOUSE_OVER,overfu n); this.addEventListener(MouseEvent.MOUSE_OUT,outFun) ; function overFun(evt:MouseEvent):void { gotoAndPlay(2); } function outFun(evt:MouseEvent):void { gotoAndPlay(11); } پس وقتی دکمه شما (که Button نیست بلکه movieclip هست ) در حالت عادی هست ، در فریم اول استپ هست و وقتی به حالت over در اومد ، از فریم دومش پلی می شه تا مثلا به فرمی 10 برسه و استپ شه و وقتی out شد ، ، از فریم 11 به بعد پلی می شه و بر می گرده به اولین فریم . این دستورات به اکشن اسکریپت 3 هست و باید فایل از نوع اکشن 3 باز کنی .buttonMode هم حالت دست شدن موس رو دکمه تونو فعال می کنه . بای... rahnama 66 22 ارديبهشت 1389, 10:45ممنون از راهنمایی شما کارهایی که گفتین انجام میدم بازم اگه سوالی داشتم می پرسم rahnama 66 22 ارديبهشت 1389, 13:47تا اونجایی که من فهمیدم و تونستم بنویسم برای هر دکمه باید جدا کد بنویسم و timeline شلوغ میشه راهی هست که یک movieclip بسازم و از آن استفاده کنم؟ من کدی که نوشتم و جواب نمیده میزارم شاید منظورم رو بفهمید: btn.addEventListener(MouseEvent.MOUSE_OVER,tabeh); btn.addEventListener(MouseEvent.MOUSE_OUT,tabeh1); var over:MovieClip = new asd(); var out:MovieClip = new qwe(); function tabeh (evt:MouseEvent):void{ removeChild(out); addChild(over); over.x=btn.x; over.y=btn.y; } function tabeh1 (evt:MouseEvent):void{ removeChild(over); addChild(out); out.x=btn.x; out.y=btn.y; } ++Hadi++ 23 ارديبهشت 1389, 09:05عزیزم گفتم که باید دستوراتی رو که نوشتم رو داخل مووی کلیپ بنویسی یعنی فرض کن مووی دکمه رو به صحنه درگ کردی بعد دو بار روی مووی کلیپ کلیک می کنی و در درونش اون کد ها رو می نویسی . بعد دیگه نیازی به اضافه کاری نیست . شما با this داری به مووی کلیپی که در اون هستین اشاره می کنین . بعد شما اگه هزار تا هم مووی کلیپ در صحنه داشته باشین دیگه دستوراتتون رو که فقط 1 بار داخل مووی کلیپ اصلی نوشتین و اونو رو همشون اعمال کردین . بای... hamidreza 68504 23 ارديبهشت 1389, 18:27پاسخ هادی جان بهترین راه حل بود . منم همین کارو میکنم hossein-senator 06 مرداد 1389, 16:22این راه حل یه مشکل کوچیک داره و اونم اینه که اگه موس خیلی سریع روی دکمه رد بشه دکمه سرجاش قفل میکنه ! من می خواستم اگه امکانش هست راهی به من نشون بدین که به دکمه بگه اگه موس اور شد در راستای تایم لاین پلی کنه و اگه موس اوت شد از همون فریمی که در اون قرار داره برخلاف جهت تایم لاین حرکت کنه تا به فریم 1 برشه. ممنون ++Hadi++ 06 مرداد 1389, 18:41دستور برعکس شدن play در اکشن 3 این هست : addEventListener(Event.ENTER_FRAME,reverse); function reverse(evt:Event):void { if(MC.currentFrame!=1) { MC.preveFrame; } else { removeEventListener(Event.ENTER_FRAME,reverse); } } بای... سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 316]