تور لحظه آخری
امروز : یکشنبه ، 17 تیر 1403    احادیث و روایات:  امام صادق (ع):سنگهاى زیربناى اسلام سه چیز است: نماز، زکات و ولایت که هیچ یک از آنها بدون دیگرى درس...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

اتاق فرار

خرید ووچر پرفکت مانی

تریدینگ ویو

کاشت ابرو

لمینت دندان

ونداد کولر

صرافی ارکی چنج

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

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

سرور اختصاصی ایران

تور دبی

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

پیچ و مهره

طراحی کاتالوگ فوری

دانلود کتاب صوتی

تعمیرات مک بوک

Future Innovate Tech

آموزشگاه آرایشگری مردانه شفیع رسالت

پی جو مشاغل برتر شیراز

قیمت فرش

آموزش کیک پزی در تهران

لوله بازکنی تهران

میز جلو مبلی

هتل 5 ستاره شیراز

آراد برندینگ

رنگ استخری

سایبان ماشین

قالیشویی در تهران

مبل استیل

بهترین وکیل تهران

شرکت حسابداری

نظرسنجی انتخابات 1403

استعداد تحلیلی

کی شاپ

خرید دانه قهوه

دانلود رمان

وکیل کرج

آمپول بیوتین بپانتین

پرس برک

بهترین پکیج کنکور

خرید تیشرت مردانه

خرید نشادر

خرید یخچال خارجی

وکیل تبریز

اجاره سند

وام لوازم خانگی

نتایج انتخابات ریاست جمهوری

خرید ووچر پرفکت مانی

خرید سی پی ارزان

خرید ابزار دقیق

بهترین جراح بینی خانم

تاثیر رنگ لباس بر تعاملات انسانی

خرید ریبون

 






آمار وبسایت

 تعداد کل بازدیدها : 1805275879




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

مشکل با دستور if -


واضح آرشیو وب فارسی:سایت ریسک: مشکل با دستور if Mr_lesani 08 فروردين 1390, 11:49سلام دوستای خوب فلش کار اولا سال نو رو به همتون تبریک میگم و بعد سوالم اینه که من دو دکمه به نامهای one_mc و two_mc که با کلیک بر روی هر کدام یه مووی کلیپ به نام cd_mc باید از لیبل over شروع به حرکت کنه و مشکل اصلی اینجاست که من در کد زیری که برای شما گذاشتم نوشتم که اگر cd_mc برابر با over بود اون رو کاری نده و اگر برابر out بود اون رو برابر با out قرار بده ولی وقتی فایلم رو اجرا میکنم فایلم حالت پرشی پیدا میکنه و در پنجره ی out put ارور میده که if َما مشکل داره . فایل رو هم پیوست کردم تا بهتر متوجه بشین:-? one_mc.addEventListener(MouseEvent.CLICK,mc_one); function mc_one(evt:MouseEvent):void { cd_mc.gotoAndPlay("over"); if (cd_mc==over) { cd_mc.gotoAndPlay("over"); }else{ cd_mc.gotoAndPlay("out"); } } ++Hadi++ 08 فروردين 1390, 14:51بهتره اينجوري بنويسين : one_mc.addEventListener(MouseEvent.CLICK,mc_one); two_mc.addEventListener(MouseEvent.CLICK,mc_one); function mc_one(evt:MouseEvent):void { switch (cd_mc.currentFrame) { case 10:// 10 == Out cd_mc.gotoAndPlay(n); break; case 5://5 == Over //cd_mc.gotoAndPlay(m);//مي توني با كامنت كردن كاري رو انجام ندي break; default: cd_mc.gotoAndPlay(P); break; } } يعني ما اومديم و به فريم ها از ديد شماره اي نگاه كرديم تا كارامون راحت باشه و با حالت currentframe شماره فريم رو در بياريم . و با يه كيس همه چي رو بررسي و شروط رو در حالت هاي مختلف مي نويسم و اگه در دستورمون حالات ديگر يا همون else رو داشته باشيم كه حد اكثر شرايط ما باشه كه در حالت غير از شروطمون تعريف بشه ، مي تونين اونا رو در قسمت default قرار بديم . البته من خيلي منظورتونو متوجه نشدم ولي با اين كار مي تونين تمام شرايط رو در نظر بگيرين و مسئله تونو حل كنين . باي... mohammadbasri 08 فروردين 1390, 15:22سلام مهدی جان یک مشکل اینه که شما if رو گذاشتی توی یک تابعی که با رویداد موس فراخوانده میشه ولی من ترجیح میدم از if استفاده نکنم کد زیر رو نگاه کن: cd_mc.stop(); one_mc.addEventListener(MouseEvent.CLICK,mc_one); function mc_one(evt:MouseEvent):void{ two_mc.addEventListener(MouseEvent.CLICK,mc_two); cd_mc.gotoAndPlay("over"); one_mc.removeEventListener(MouseEvent.CLICK,mc_one ); } two_mc.addEventListener(MouseEvent.CLICK,mc_two); function mc_two(evt:MouseEvent):void { one_mc.addEventListener(MouseEvent.CLICK,mc_one); cd_mc.gotoAndPlay("out"); two_mc.removeEventListener(MouseEvent.CLICK,mc_two ); } Mr_lesani 08 فروردين 1390, 16:13ممنونم آقا هادی و آقا محمد فکر کنم منظورم رو خوب نرسوندم و شما دوستان با توجه به برداشتهایی که کردین به مشکل جواب دادین :) میخوام دوباره بگم که من همون دوکمه ی بالا رو با نامهای one_mc و two_mc دارم که مثلا با کلیک بر روی دکمه ی one_mc مووی کلیپ cd_mc قراره از فریم 2 حرکت کنه و در فریم 5 استاپ کنه و در اون حالت بمونه و با کلیک دکمه ی two_mc مووی کلیپمون در همون حالت باشه . یا بر عکس مثلا با کلیک بر روی دکمه ی two_mc مووی کلیپ cd_mc قراره از فریم 2 حرکت کنه و در فریم 5 استاپ کنه و در اون حالت بمونه و با کلیک دکمه ی one_mc مووی کلیپمون در همون حالت باشه و دوباره همون کار دکمه ی اول رو انجام نده و مشکل دیگه اینه که چرا وقتی از دستور if استفاده میکنم مووی کلیپ cd_mc من حالت پرشی پیدا میکنه ؟ فعلا با کدهایی که برام نوشتین ور میرم ، شاید بتونم مشکلم رو حل کنم ولی ممنون میشم یه راهنمایی دیگه بکنید . mohammadbasri 08 فروردين 1390, 16:32با کلیک بر روی دکمه ی one_mc مووی کلیپ cd_mc از فریم 2 حرکت کنه و در فریم 5 استاپ کنه و در اون حالت بمونه و با کلیک دکمه ی two_mc مووی کلیپمون در همون حالت باشه . . چه حالتهایی؟ واضحتر بگو و مشکل دیگه اینه که چرا وقتی از دستور if استفاده میکنم مووی کلیپ cd_mc من حالت پرشی پیدا میکنه ؟ . if شما در جای مناسبی قرار نداره و فکر کنم باید یک event listener از نوع اینتر فریم تعریف کنی و if رو در تابع مربوطه قرار بدی amin.flash 08 فروردين 1390, 16:48سلام دوست من سال نو همه مبارک من به flash دسترسی ندارم ت کامل کمک کنم و فایلت رو ببینم ولی ینطور که من فهمیدم شم میخوای 2 تا دکمه داشته باشی که موی شما رو از یه X,Y مبدا به X,Y مقصد ببره و اگه تو مقصدی دیگه دکمه هات کار نکنه و این حرکتم نرم بشه اگه این منظورت راحش اینه import com.greensock.* import com.greensock.easing.* var MyX=X مقصد var MyY=Y مقصد one_mc.addEventListener(MouseEvent.CLICK,mc_one); two_mc.addEventListener(MouseEvent.CLICK,mc_one); function mc_one(evt:MouseEvent):void{ TweenMax.to(cd_mc,1,{x:MyX,y:MyY, ease:Circ.easeOut}) } البته من چون دسترسی ندارم نه فایل شمارو دیدم نه این کدهارو تست کردم میدوارم کارتو راه بندازه Mr_lesani 08 فروردين 1390, 16:49من میخوام با کلیک بر روی یکی از دکمه ها مووی کلیپم over بشه و در فریم مخصوصی stop کنه و با کلیک بر روی دکمه ی دیگه مووی کلیپم حرکت دکمه ی قبل رو انجام نده و در همون حالت over بمونه mohammadbasri 08 فروردين 1390, 16:55لسانی جان فکرکنم مشکل از کدت باشه شما به هر دو تابع برچسب فریم رو over دادی کد من رو چک کردی؟ کلید1: اور به اوت کلید2: اوت به اور فکر کنم شما میخوای به اینصورت باشه amin.flash 08 فروردين 1390, 17:00دوست من اگه با teewnmax کر کرده باشی کارت خیلی رحت میشه شما میتونی خیلی از کارهارو با اون انجام بدی فقط کافی به جای x , y که من تو تابع بال گذشتم شما کاری رو که میهوای انجام بشه رو بذاری همین Mr_lesani 08 فروردين 1390, 17:03دوستان راستشو بخواین با کدهای همتون امتحان کردم و کد هادی آقا یه جورایی کارم رو راه انداخته ولی مشکل اینجاست با کلیک بر روی یکی از دکمه ها مووی کلیپم یه تکون کوچولو میخوره و بعد دستورات رو اجرا میکنه ، در پایین فایل رو پیوست کردم با اصلاحیه ی کد آقا هادی ، یه نگاه بندازین متوجه منظورم میشین ! Mr_lesani 08 فروردين 1390, 17:09لسانی جان فکرکنم مشکل از کدت باشه شما به هر دو تابع برچسب فریم رو over دادی کد من رو چک کردی؟ کلید1: اور به اوت کلید2: اوت به اور فکر کنم شما میخوای به اینصورت باشه جناب بصری جان عزیز من که گفتم با کدهای همتون امتحان کردم ، دستور شما میگه که با کلیک بر روی دکمه ی اول over رو بخونه و با کلیک بر روی دکمه ی دوم out رو بخونه ولی شما اخرین فایل پیوستیم رو یه نیگاه بندازین که با کدهای آقا هادی اصلاحش کردم ++Hadi++ 08 فروردين 1390, 17:10اگه قرار دو دكمه فقط يه كار رو انجام بده و چك كنه كه آيا مووي كليپ مد نظر در فريم فلان نيست تا به اونجا بره فقط كافيه رو فريم مد نظر يه دستور stop بنويسين و بعد مووي كليپ رو از اينجايي كه هست ،‌play‌كنين يعني : one_mc.addEventListener(MouseEvent.CLICK,mc_one); two_mc.addEventListener(MouseEvent.CLICK,mc_one); function mc_one(evt:MouseEvent):void { if(cd_mc.currentFrame!=5)//5 is over { cd_mc.gotoAndStop(1); cd_mc.play(); } } فرض كن قراره در هر صورت با كليك بر روي هر دو دكمه ، چك شه كه آيا فريم كنوني مووي كليپ مد نظر روي اون نقطه هست يا نه ،‌اگه باشه كه هيچي نمي شه ولي اگه نباشه ، از نقطه اي كه الان هست ،‌مي ره به فريم 1 (سريع و جهشي ) و بعد از اونجا پلي مي شه و اگه بين فريم مثلا 1 تا اون فريم over كه stop كردين ،‌دستور stop‌ديگه اي نباشه ، تا اونجا پلي مي شه و واي مي ايسته . حالا فرض كنين تا به اون فريم over كه مثلا فريم 5 باشه ،‌نرسيده شايد طرف بياد و هي بخواد كرم بريزه و دكمه ها رو دوباره بزنه ،‌چه اتفاقي مي افته ؟ مدام به فريم 1 مي ژره و ژلي رو روع مي كنه ،‌خوب كافيه يكي از اين دو كار رو انجام بدين : 1- در تابع cd_One هر دو EventListener رو حذف كنين : one_mc.removeEventListener(MouseEvent.CLICK,mc_one ); two_mc.removeEventListener(MouseEvent.CLICK,mc_one ); دستور بالا رو داخل تابع mc_One و در خط اولش و قبل از ساختار if بنويسين . 2- در داخل تابع mc_One و قبل از ساختار دستور if ، دستورات زير رو بنويسين تا موس به هيچ وجه اين دو دكمه رو لمس نكنه : one_mc.mouseEnabled=false; one_mc.mouseChildren=false; two_mc.mouseEnabled=false; two_mc.mouseChildren=false; پس عملا به وسيله موس ديگه لمس نمي شن و تابع ديگه اجرا نمي شه و البته بعد از گذشت يه مدت زمان كم مي تونين دوباره EventListenmer‌ها رو بدي يا اينكه مي توني دوباره لمس موس رو true‌كني .البته با دستور : setTimeout(myFunction,2000); function myFunction():void { one_mc.addEventListener(MouseEvent.CLICK,mc_one); two_mc.addEventListener(MouseEvent.CLICK,mc_one); //Or one_mc.mouseEnabled=true; one_mc.mouseChildren=true; two_mc.mouseEnabled=true; two_mc.mouseChildren=true; } و به ياد داشته باشيد كه پرامتر دوم setTimeout زمان به ميلي ثانيه هست و هر ثانيه ، 1000 ميلي ثانيه هست . موفق باشيد . mohammadbasri 08 فروردين 1390, 17:13اینو امتحان کن one_mc.addEventListener(MouseEvent.CLICK,ok); two_mc.addEventListener(MouseEvent.CLICK,ok); function ok(evt:MouseEvent):void { switch (cd_mc.currentFrame) { case 10:// 10 == Out cd_mc.gotoAndPlay(2); break; case 5://5 == Over cd_mc.gotoAndPlay(6); break; default: cd_mc.gotoAndPlay(2); break; } } ++Hadi++ 08 فروردين 1390, 17:17اينو : cd_mc.gotoAndStop(1); cd_mc.play(); واسه درك بهتر نوشتم ولي اين ساده شه : cd_mc.gotoAndPlay(1); Mr_lesani 08 فروردين 1390, 17:21دوستان راستشو بخواین با جواباتون من رو شرمنده کردین :rose: و خیلی خیلی ممنونم ولی هنوز دارم با کدها ور میرم و انشاالله که مشکلم درست میشه و فایل نهایی و اصلاح شده رو up میکنم موفق باشید mohammadbasri 08 فروردين 1390, 17:23من الان سرم داره میترکه از درد و گرنه دلم میخواست کمک کنم ++Hadi++ 08 فروردين 1390, 17:25مسئله خيلي ساده هست و مشكل اون تو دركشه ... يعني درك صورت مساله و چيزي كه صورت مساله رو سخت مي كنه ، عوض كردن صورت مساله هست . البته شما صورت مساله رو عوض نكردين ها ،‌همينطوري گفتم كه يه تنوع بشه . دوستان با اجازه من امروز از حضورتون مرخص مي شم . معين باشيد .... Mr_lesani 08 فروردين 1390, 18:15خب با کمک دوستان و کل کل خودم با فایلم مشکل حل شد و فایل رو پیوست کردم و سوال بعدی برام ایجاد شده که در تاپیک زیر اونو مطرح میکنم و با توجه به امضای جدیدم تا این مشکل رو هم با همکاری شما دوستان و پافشاری خودم حل نکنم ولش نمیکنم :lol: مشکل در تابع function () mohammadbasri 08 فروردين 1390, 21:091- من که 3 تا کدوئین و 2 تا اسپرین و 1 دونه وارفارین خوردم فکر کنم تا فردا هم چیزی رو درک نخواهم کرد :-< 2- اگه به مشکلی بر خوردی تا اون رو حلش نکردی ولش نکن ، فعلا که ما در مشکلات حل شدیم:razz: :rose: سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1102]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن