صدا کردن یک برنامه!

sport414

Active Member
با سلام خدمت دوستان
- آیا وسط دستورات لینگو میتونیم بریم به یک فریک خاص و بعد از خروج از اون فریم برنامه برگرده به همون قسمت برنامه و بقیه دستورات لینگو را اجرا کنه؟
اصل مشکل من اینه که مثلا 200 خط کد نوشتم که باید 20 بار یا بیشتر ازش استفاده کنم و نمی خوام هی این 200 خطو بنویسم تمرکزم رو روی برنامه ی اصلی از بین می بره. موندم این کارو چطوری انجام بدم؟ اگه میشد یه تابعی تعریف کرد که هر وقت خواستیم صداش کنیم و کارها رو برامون انجام بده خوب بود ولی نمی دونم در دایرکتور چطوری این کار باید انجام بشه . ظاهرا باید از وراثت استفاده کنیم ولی باهاش آشنا نیستم .اگه از دوستان کسی بلد هست یه نمونه ی کوچیک بنویسه و راهو بهمون نشون بده بقیه اش رو با تلاش و کوشش خواهیم رفت.
تو help یه دستوری بود به نام call.masalanFelan انگار یه برنامه را از جایی صدا میزد و ازش استفاده می کرد.

اگه این کار ممکنه لطفا چند تا کد برای نمونه بنویسید که مثلا دو عدد را با هم جمع کنه ( مثل function ها توی php ) و ما هر جا لازمش داشتیم اونو صدا کنیم و هر دو عدد دلخواهی رو با هم جمع کنیم. :cool:
ممنون .واقعا از بروبچه های دایرکتور تشکر می کنم من خیلی چیزهارو از همین جا یادگرفتم . باز هم تشکر.
 
سلام

در حقیقت منظور کاملت رو متوجه نشدم، اما اگر قصد داری که کد های برنامه رو بشکنی که از لحاظ خوانایی بهتر بشه از توابع استفاده کن

مثال :

on mousedown
put sum(2,5)
end

on sum(a,b)
return a+b
end

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

برای فراخوانی تابع نیز فقط کافیه اسم تابع نوشته شود

در اینجا من از عنوان تابع استفاده کردم چون واسه همه آشنا تر هستش اما در دایرکتور بهش می گن هندلر.

موفق باشید.
 
آخرین ویرایش:

sport414

Active Member
با سلام
منظورم این بود که ما یه تابعی (یا هندلری) را در مثلا فریم اول برنامه تعریف کنیم و در هر فریمی خواستیم صداش کنیم .کدهایی که شما زحمت کشیدید ، همشون باید توی یک فریم نوشته بشن یا هر جا که استفاده میشن باید کنار هم باشن نه جداجدا. می خواستم مثل متغیرهای global یه تابع global داشته باشم.
ممنون از توجه شما.
 
در دایرکتور دو نوع اسکریپت وجود دارد :
1 - movie script
2 - behavior script

movie script به عنوان هندلر های سراسری شناخته می شوند یعنی در هرکجای برنامه می توان آنها را فراخوانی کرد مانند
on startmovie
end

اما behavior script به عنوان هندلر مخصوص اسپرایت معرفی می گردند یعنی یک کد برای اسپرایت است و فقط می توانند توابع داخل خودشان یا سراسری را فراخوانی کنند

شما نمی توانید هندلر behavior script را به صورت عادی فراخوانی کنید اما برای فراخوانی تابع movie script کافی است فقط اسم تابع را بنویسید

وقتی یک اسکریپت می نویسید از منوی property inspector می توانید مشخص کنید که آیا این اسکریپت movie یا behavior باشد


موفق باشید
 

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

بالا