ساخت بازی پازل با فلاتر – از صفر تا صد

۹۰۸ بازدید
آخرین به‌روزرسانی: ۱۵ مهر ۱۴۰۲
زمان مطالعه: ۱۰ دقیقه
دانلود PDF مقاله
ساخت بازی پازل با فلاتر – از صفر تا صدساخت بازی پازل با فلاتر – از صفر تا صد

در این مقاله قصد داریم با روش ساخت بازی پازل با فلاتر آشنا شویم. این بازی روی دستگاه‌های مجهز به سیستم عامل iOS و همچنین اندروید کار خواهد کرد. اگر فلاتر را روی سیستم خود نصب نکرده‌اید، هم اینک به وب‌سایت فلاتر (+) بروید و آن را نصب کنید.

997696

تنظیم پروژه

زمانی که فلاتر را نصب کردید، باید یک پروژه جدید فلاتر در اندروید استودیو ایجاد کنید:

ساخت بازی پازل با فلاتردر صفحه بعدی گزینه Flutter Application را انتخاب کرده و نام پروژه جدید را به صورت flutter_puzzle تعیین کنید. برای تولید نام پکیج نیز می‌توانید از نام شرکت یا دامنه شخصی خودتان استفاده کنید. ما از عبارت dragosholban.com استفاده می‌کنیم و از این رو نام پکیج ما به صورت com.dragosholban.flutterpuzzle درمی‌آید. گنجاندن امکان پشتیبانی از سوئیفت یا کاتلین تغییری در فرایند کار نخواهد داشت، زیرا نیازی به نوشتن کدهای بومی اندروید یا iOS در این اپلیکیشن نخواهیم داشت.

پس از ایجاد شدن پروژه آن را روی شبیه‌ساز یا یک دستگاه واقعی اجرا کنید تا مطمئن شوید که همه چیز درست است.

ساخت بازی پازل با فلاتر

برای پایان تنظیم پروژه فایل lib/main.dart را باز کنید و محتوای آن را با کد زیر عوض کنید. بدین ترتیب کارکرد نمونه‌ای را که فلاتر در اپلیکیشن قرار داده است حذف کرده و آن را با نقطه آغازین اپلیکیشن خود جایگزین می‌کنیم.

چنان که مشاهده می‌کنید، این صرفاً یک صفحه خالی است. متن «No image selected» در میانه آن دیده می‌شود و یک دکمه شناور وجود دارد که در ادامه از آن استفاده خواهیم کرد:

ساخت بازی پازل با فلاتر

گرفتن تصویر از دوربین یا گالری

اکنون که همه چیز سر جای خود است، کار خود را این گونه آغاز می‌کنیم که به اپلیکیشن امکان می‌دهیم تصاویری را از حافظه داخلی گوشی بارگذاری کند یا مستقیماً عکس‌هایی به وسیله دوربین گوشی بگیرد. به این منظور از یک افزونه فلاتر به نام image_picker بهره می‌گیریم.

نصب افزونه‌های جدید در فلاتر به سادگی اضافه کردن آن‌ها به فایل pubspec.yaml است. سپس دستور flutter get را از کنسول یا مستقیماً از اندروید استودیو اجرا می‌کنیم:

از آنجا که قبلاً یک دکمه شناور اضافه کرده‌ایم، به وسیله آن به کاربران امکان می‌دهیم که یک تصویر جدید انتخاب کنند. به این منظور باید تغییراتی در کد لحاظ کنیم. ابتدا گزینه انتخاب منبع تصویر را ارائه می‌کنیم که به صورت دوربین یا گالری است. تغییرات زیر را در فایل main.dart اعمال کنید:

اکنون هنگامی که روی دکمه شناوری ضربه بزنید، منوی تحتانی ظاهر می‌شود و از شما می‌پرسد که منبع منتخب شما برای تصویر کدام است. مطمئن شوید که همه چیز به درستی کار می‌کند:

ساخت بازی پازل با فلاتر

برای دریافت عملی تصاویر، یک متد جدید ایجاد می‌کنیم که وقتی کاربر هر کدام از گزینه‌های دوربین یا گالری فوق را انتخاب می‌کند فراخوانی خواهد شد. زمانی که تصویر با تغییر حالت اپلیکیشن بارگذاری شد، آن را به کاربر نمایش می‌دهیم. همچنین توجه داشته باشید که باید برخی کتابخانه‌های dart و افزونه image_picker را که اضافه کرده‌ایم، ایمپورت کنیم:

آخرین کاری که باید انجام دهیم، افزودن جزییات مجوزهای خاص iOS است. به این منظور فایل ios/Runner/Info.plist را باز کنید و دو خط دیگر مانند زیر اضافه کنید:

اکنون می‌توانید اپلیکیشن را تست کنید. در این زمان باید بتوانید روی هر دو پلتفرم تصاویر را بارگذاری کرده یا با دوربین گوشی عکس‌هایی بگیرید. زمانی که کار بررسی به پایان رسید، به بخش بعدی بروید.

ساخت بازی پازل با فلاتر

تقسیم تصویر به تکه‌های پازل

ما برای ساخت تکه‌های پازل خود یک ویجت فلاتر به نام PuzzlePiece می‌سازیم. یک فایل جدید به نام PuzzlePiece.dart در پوشه lib ایجاد کنید.

این ویجت یک تصویر (image) می‌گیرد و آن را به مسیرهایی (path) برش می‌دهد که تکه‌های پازل را تشکیل می‌دهند. همچنین باید ردیف (row) و ستون (column) تکه‌ای که رسم می‌شود و بیشینه تعداد ردیف/ستون‌ها (maxRow و maxCol) را برای کل پازل بدانیم.

اگر به فایل main.dart بازگردیم، کد زیر را به ابتدای کدهای موجود می‌افزاییم تا ویجت جدید فعال شود:

اینک اگر اپلیکیشن را اجرا و تصویر را بارگذاری کنید، می‌بینید که به چندین تکه پازل تبدیل می‌شود که به صورت تصادفی روی صفحه قرار گرفته‌اند.

ساخت بازی پازل با فلاتر

جابجایی تکه‌های پازل و چسباندن آن‌ها به هم

در این بخش یک «شناساگر ژست» (GestureDetector) فلاتر به پروژه خود اضافه می‌کنیم تا کاربر بتواند تکه‌های پازل را روی صفحه جابجا کند. وقتی که یک پازل به موقعیت نهایی خود نزدیک می‌شود، به آن می‌چسبد و دیگر نمی‌توان آن را جابجا کرد.

به این منظور کد هایلایت شده زیر ویجت PuzzlePiece را اضافه کنید:

در نهایت کد زیر را به فایل main.dart اضافه کنید:

اپلیکیشن را یک بار دیگر اجرا کنید، تصویری را انتخاب کرده و تلاش کنید پازل را تکمیل کنید. اکنون همه چیز به خویی کار می‌کند و می‌توانید از اپلیکیشنی که ساخته‌اید بهره بگیرید.

اما کارهای دیگری نیز وجود دارد که می‌توانید برای بهبود بازی انجام دهید. یک نکته بدیهی آن است که وقتی همه تکه‌های پازل در جای خود قرار گرفتند، بازی را ری‌استارت کنید. نکته دیگر این است که بازی را به حالت پرتره محدود کنید. ما ترجیح می‌دهیم اجرای این وظایف را به عنوان تمرین بر عهده شما بگذاریم. توجه کنید که برای اجرای کار دوم باید اپلیکیشن را برای پلتفرم‌های iOS و Android به صورت مجزا پیکربندی کنید.

ساخت بازی پازل با فلاتر

امیدوارم از این راهنما در مورد ساخت بازی پازل با فلاتر استفاده برده باشید؛ برای مشاهده کد نهایی پروژه به این ریپوی گیت‌هاب (+) مراجعه کنید.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۲ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
quick-code
دانلود PDF مقاله
۱ دیدگاه برای «ساخت بازی پازل با فلاتر – از صفر تا صد»

اسم برنامه چیه؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *