از این کد به منظور توقف اجرای برنامه در فریم اول و ممانعت از رفتن به فریم بعدی استفاده میشود تا بتوانیم قطعات پازل را حرکت دهیم.
از این دستور برای مخفیکردن Movie Clip های r1 و r2 استفاده میکنیم. نیازی به نمایش آنها در زمان اجرای برنامه نداریم. کاربرد آنها برای بررسی برخورد قطعات پازل با محل قرارگیری اولیه آنها است.
از این دستور برای مخفیکردن Movie Clip های s1_mc و s2_mc که درون Movie Clip های s1 و s2 قرار دارند استفاده میکنیم. نیازی به نمایش آنها در زمان اجرای برنامه نداریم. کاربرد آنها برای بررسی برخورد قطعات پازل با محل قرارگیری اولیه آنها است.
توسط این بخش از دستورت بررسی خواهیم کرد که اگر برای سمبلی از نوع دکمه (button) با نام btnStart رخداد کلیک که از مجموعه رخدادهای مربوط به ماوس است، اتفاق افتاد (به زبان ساده اگر دکمه btnStart کلیک شد)، تابعی با نام fl_MouseClickHandler فراخوانی شود. ازآنجایی که چنین تابعی از قبل موجود نیست؛ بنابراین باید آن را ایجاد نماییم تا خطایی در برنامه ایجاد نشود.
توسط کلمه کلیدی function تابعی با نام fl_MouseClickHandler ایجاد میکنیم. این تابع به عنوان آرگومان ورودی یک رویداد از طریق event دریافت میکند. نوع این رویداد از نوع رویدادهای مربوط به ماوس است یعنی MouseEvent. از آنجایی که قرار نیست توسط نام تابع مقداری به عنوان خروجی بازگردانده شود؛ بنابراین مقدار void را به عنوان نوع خروجی برای تابع تعریف میکنیم. دستورات تابع درون آکولاد باز و بسته قرارگرفته تا مرز دستورات آن مشخص باشد. بنابراین داخل آکولادها مشخص میکنیم که هر زمان که این تابع فراخوانی شد چه دستور یا دستوراتی اجرا شود. اگر به دستورات تابع دقت نمایید متوجه خواهید شد که مختصات s1 و s2 تعیین شده است.
به طور کلی اگر دکمه start کلیک شود قطعه s1 پازل به نقطهای با مختصات x=400 و y=266 و قطعه پازل s2 به نقطهای با مختصات x=100 و y=266 منتقل خواهند شد. بدین ترتیب قطعات پازل از محل اولیه خود دور میشوند:
توسط کلمه کلیدی function تابعی با نام fl_MouseClickHandler ایجاد میکنیم. این تابع به عنوان آرگومان ورودی یک رویداد از طریق event دریافت میکند. نوع این رویداد از نوع رویدادهای مربوط به ماوس است یعنی MouseEvent. از آنجایی که قرار نیست توسط نام تابع مقداری به عنوان خروجی بازگردانده شود؛ بنابراین مقدار void را به عنوان نوع خروجی برای تابع تعریف میکنیم. دستورات تابع درون آکولاد باز و بسته قرارگرفته تا مرز دستورات آن مشخص باشد. بنابراین داخل آکولادها مشخص میکنیم که هر زمان که این تابع فراخوانی شد چه دستور یا دستوراتی اجرا شود. اگر به دستورات تابع دقت نمایید متوجه خواهید شد که مختصات s1 و s2 تعیین شده است.
به طور کلی اگر دکمه start کلیک شود قطعه s1 پازل به نقطهای با مختصات x=400 و y=266 و قطعه پازل s2 به نقطهای با مختصات x=100 و y=266 منتقل خواهند شد. بدین ترتیب قطعات پازل از محل اولیه خود دور میشوند:
توسط این دستور بررسی خواهد شد که در هر فریمی که قرارگرفتهاید (وارد شدهاید) تابع EntFrame فراخوانی شده و دستورات درون آن اجرا شوند. بنابراین باید این تابع را بنویسیم تا برنامه دچار خطا نشود:
👍1
تابع EntFrame در این بخش تعریف شده است و حاوی دستورات بخش اول و بخش دوم است.
در قسمتی که با "قطعه اول" مشخص شده است، دستورات حرکت (درگ و دراپ) یعنی کشیدن و انداختن قطعه اول پازل (قطعه سمت راست) با نام s1 نوشته شده است. در این بخش بررسی میشود به محض فشردن دکمه ماوس به سمت پایین (رویداد MOUSE_DOWN) تابعی با نام f1_s1 فراخوانی شود؛ سپس این تابع تعریف شده است. در این تابع، اجازه کشیدن یا همان درگ قطعه s1 پازل صادر شده است (s1.startDrag()).
در قسمتی که با "قطعه اول" مشخص شده است، دستورات حرکت (درگ و دراپ) یعنی کشیدن و انداختن قطعه اول پازل (قطعه سمت راست) با نام s1 نوشته شده است. در این بخش بررسی میشود به محض فشردن دکمه ماوس به سمت پایین (رویداد MOUSE_DOWN) تابعی با نام f1_s1 فراخوانی شود؛ سپس این تابع تعریف شده است. در این تابع، اجازه کشیدن یا همان درگ قطعه s1 پازل صادر شده است (s1.startDrag()).
❤2