راهنمایی در مورد if

F-Amator

Member
دوباره سلام ، پست قبلیم که به نتیجه نرسید و مجبورشدم روشم رو تغییر بدم . خب دوستان من یه مووی کلیپ دارم که درونش چند تا دکمه وجود داره و یک مووی کلیپ دارم که یک انیمیشن هستش .
میخوام با کلیک بر روی یکی از دکمه هام مووی کلیپ انیمیشن اجراش شده و در آخرین فریم مووی کلیپ انیمیشنم یک دستور شرطی بزارم که ببینه که کدوم دکمه کلیک شده تا دستورای بعدیش رو انجام بده . دوستان این سمپل روببینین که اشتباه کار من کجاست و بهم بگه تا خودم رفعش کنم .


ببخشید ، یادم رفت فایلم رو اتچ کنم . اینم کدی که من استفاده کردم و به مشکل بر خوردم .






PHP:
stop();
if(btn_01 == click)
{	MovieClip(root).gotoAndStop(10);}else(btn_02 == click){	MovieClip(root).gotoAndStop(20);}else if(btn_03 == click){	MovieClip(root).gotoAndStop(30);}
 

پیوست ها

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

F-Amator

Member
ممنونم دوست گرامی ، اما در مورد else if مطمئنم درسته ، فکر میکنم این قسمت کدهام (btn_02 == click) اشتباهه که من نمیتونم درستش رو بنویسم . دوستانی که متوجه منظورم شدند ، یه راهنمایی بفرمایند .
 

FLV

Member
در مورد اون کد نمیدونم ولی ساختار شرطی اشتباهه و معنای کدی که نوشتین اینه:
گفتین اگر btn_01 == click کار 1 رو انجام بده درغیراینصورت اگر btn_02 == click کار 2 را انجام بده.
یعنی شما دو حالت رو دارین چک میکنین و شرط سوم بررسی نمیشه.
 

++Hadi++

Active Member
موقعی که دکمه کلیک شد ،آی دی اونو می دی به یه متغیری ...بعدش انیمیشن اجرا می شه .تو آخرین فریم انیمیشنت یه متد رو صدا می زنی که بررسی می کنه متغیر آی دی دکمه ای که کلیک شده مقدارش چی هست به نسبت مقدارش با سویچ یا هر چیز دیگه ای ،کاری رو انجام می دی :
PHP:
import Globals;
Globals.EndAct=this.EndAct;
1var SwitchingPos:int=0;
btn1.addEventListener(MouseEvent.CLICK,b1click);
btn2.addEventListener(MouseEvent.CLICK,b2click);
btn3.addEventListener(MouseEvent.CLICK,b3click);

function b1click(evt:MouseEvent):void
{
   SwitchingPos=1;
}
function b2click(evt:MouseEvent):void
{
   SwitchingPos=2;
}
function b3click(evt:MouseEvent):void
{
   SwitchingPos=3;
}
function EndAct():void
{
switch(SwitchingPos)
{
case 1:
//do act 1
break;
case 2:
//do act2
break;
case 3:
//do act 3
break;
default:
//do default
break;
}
}
فقط کافیه تو فریم آخر اون انیمیشن بگی :
PHP:
Globals.EndAct();

//============اصلاحیه
در ضمن چون شما تو مووی کلیپین و دسترسی به اون تابع ندارید باید درست بغل fla تون یه فایل به اسم Globals.as بوجود بیارید و توش بنویسید :
PHP:
package
{
public class Globals
{
public static var EndAct:Function=null;
}
}
بعد تو
بای...
 
آخرین ویرایش:

F-Amator

Member
اولش گیج بودم و منظورتونو متوجه نشده بودم ، و با یکم ور رفتن متوجه راهنماییتون شدم ، خیلی ممنون آقا هادی ، دعا میکنم همیشه تو زندگیت موفق باشی . :wink:
 

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

بالا