সুচিপত্র:

আরডুইনো কন্ট্রোলার দিয়ে কীভাবে মাল্টিপ্লেয়ার গেম তৈরি করবেন: 6 টি ধাপ
আরডুইনো কন্ট্রোলার দিয়ে কীভাবে মাল্টিপ্লেয়ার গেম তৈরি করবেন: 6 টি ধাপ

ভিডিও: আরডুইনো কন্ট্রোলার দিয়ে কীভাবে মাল্টিপ্লেয়ার গেম তৈরি করবেন: 6 টি ধাপ

ভিডিও: আরডুইনো কন্ট্রোলার দিয়ে কীভাবে মাল্টিপ্লেয়ার গেম তৈরি করবেন: 6 টি ধাপ
ভিডিও: কিভাবে উইন্ডোজ দিতে হয় | Windows 10 Setup process Step By Step | How To Install Windows 10 2024, নভেম্বর
Anonim
আরডুইনো কন্ট্রোলার দিয়ে কীভাবে মাল্টিপ্লেয়ার গেম তৈরি করবেন
আরডুইনো কন্ট্রোলার দিয়ে কীভাবে মাল্টিপ্লেয়ার গেম তৈরি করবেন

আপনি কি কখনও ভেবে দেখেছেন যে গেম ডেভেলপাররা কীভাবে আশ্চর্যজনক গেম তৈরি করে যা বিশ্বব্যাপী মানুষ খেলতে উপভোগ করে? ঠিক আছে, আজ আমি আপনাকে একটি ছোট মাল্টিপ্লেয়ার গেম তৈরি করে এটি সম্পর্কে একটি ছোট্ট ইঙ্গিত দিতে যাচ্ছি যা একটি Arduino নিয়ামক দ্বারা নিয়ন্ত্রিত হবে যা আপনিও তৈরি করবেন। সুতরাং, আসুন শুরু করা যাক।

সরবরাহ

আপনার প্রয়োজন হবে:

  • একটি ল্যাপটপ
  • ইউনিটি ইঞ্জিন
  • একটি C# IDE যা ইউনিটির সাথে কাজ করে যেমন ভিজ্যুয়াল স্টুডিও বা এটম। (আমি ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করব)
  • 2 এক্স আরডুইনো ন্যানো
  • 2 এক্স বিগ ব্রেড বোর্ড
  • 2 এক্স ছোট রুটি বোর্ড
  • 4 এক্স ট্যাক সুইচ (পুশ বোতাম)
  • 4X 200Ω প্রতিরোধক
  • 12X পুরুষ থেকে পুরুষ জাম্পার ওয়্যার
  • Arduino IDE

আপনার যদি ইউনিটি ব্যবহার করার প্রাথমিক ধারণা থাকে তবে এটি সহায়ক হবে, তবে এটি আপনার অগ্রগতিকে প্রভাবিত করবে না কারণ গেমটি তৈরি করার সময় আপনি এটির সাথে পরিচিত হবেন।

ইউনিটি ইঞ্জিন ডাউনলোড করার জন্য লিঙ্ক:

store.unity.com/download-nuo

ভিজ্যুয়াল স্টুডিও কোড আইডিই ডাউনলোড করার জন্য লিঙ্ক:

code.visualstudio.com/download

Arduino IDE ডাউনলোড করার জন্য লিঙ্ক:

www.arduino.cc/en/Main/Software

ধাপ 1: গেমের সীমানা সেটআপ করুন

গেমের সীমানা সেটআপ করুন
গেমের সীমানা সেটআপ করুন
গেমের সীমানা সেটআপ করুন
গেমের সীমানা সেটআপ করুন
গেমের সীমানা সেটআপ করুন
গেমের সীমানা সেটআপ করুন

প্রথমত, আপনাকে unityক্য ডাউনলোড করতে হবে

একবার এটি হয়ে গেলে আপনি আপনার গেমের ভিউ সেট আপ করতে শুরু করতে পারেন।

একটি নতুন ইউনিটি প্রকল্প খুলুন, এটির নাম দিন এবং 2D গেম নির্বাচন করুন।

যখন প্রকল্পটি খোলে, লক্ষ্য করুন যে 3 টি প্রধান বিভাগ বলা হয়

  • শ্রেণিবিন্যাস (এখানেই আপনার সমস্ত গেম অবজেক্ট এবং বিবরণ যোগ করা হবে)।
  • দৃশ্য (যেখানে আপনি গেমের ভিউ সেটআপ করেন)।
  • গেম (যেখানে আপনি পরীক্ষা করতে পারেন কিভাবে আসল গেমটি চলবে)।

লক্ষ্য করুন যে অনুক্রমের অধীনে আপনার দৃশ্য রয়েছে এবং দৃশ্যের নীচে "প্রধান ক্যামেরা" রয়েছে। যখন আপনি হায়ারার্কি থেকে ক্যামেরা নির্বাচন করবেন তখন এটি দৃশ্যের মধ্যে নির্বাচিত হবে

(এই ক্যামেরার সীমানার মধ্যে যা কিছু আছে তা আসল খেলায় দেখাবে)।

ছবি 1 দেখুন

আমাদের গেমটিতে দুটি বোর্ড, একটি বল যা চারদিকে ঘোরে এবং সীমানা যা বোর্ড এবং বলের চলাচলকে সীমাবদ্ধ করে।

সীমানা তৈরি করে শুরু করা যাক।

  1. একটি নতুন গেম অবজেক্ট তৈরি করতে, সম্পদ> তৈরি করুন> স্প্রাইটস> বর্গক্ষেত্র নির্বাচন করুন (নাম দিন "ডান এবং বাম সীমানা") ছবি 2 দেখুন
  2. ডান এবং বাম সীমানাগুলিকে অনুক্রমের দিকে টেনে আনুন এবং ফেলে দিন এবং একটি বর্গক্ষেত্র দৃশ্যমান হবে।
  3. এর x অক্ষের অবস্থান (5) "ডান এবং বাম সীমানা"> পরিদর্শক> রূপান্তর> অবস্থান> X এ সামঞ্জস্য করুন। ছবি 3 দেখুন
  4. তারপরে এর স্কেল সামঞ্জস্য করুন যাতে এটি ক্যামেরার সীমানাগুলি coverেকে রাখার জন্য যথেষ্ট (এটি প্রসারিত করার জন্য বর্গক্ষেত্রের উপরের এবং নীচের দিকগুলি টেনে আনুন)।
  5. "ডান এবং বাম সীমানা থেকে" এর রঙ সামঞ্জস্য করুন> পরিদর্শক> স্প্রাইট রেন্ডার> রঙ। ছবি 3 দেখুন
  6. ইন্সপেক্টরে নিচে স্ক্রোল করুন এবং অ্যাড কম্পোনেন্ট নির্বাচন করুন তারপর Rigidbody2D টাইপ করুন এবং এন্টার টিপুন, এটি মূলত আপনার গেম অবজেক্টে পদার্থবিজ্ঞান যোগ করবে কারণ এটি ভর, মাধ্যাকর্ষণ এবং সংঘর্ষ সনাক্তকরণ দেয়। যাইহোক আমাদের গেমটিতে আমাদের মাধ্যাকর্ষণের প্রয়োজন নেই তাই 1 এর পরিবর্তে মাধ্যাকর্ষণ 0 করুন। আপনাকে অবস্থান এবং ঘূর্ণনও স্থির করতে হবে যাতে সংঘর্ষের সময় সীমানা সরতে না পারে। ছবি 4 দেখুন
  7. অ্যাড কম্পোনেন্ট নির্বাচন করুন তারপর Box Collider 2D টাইপ করুন এবং এন্টার চাপুন এটি গেম অবজেক্টের চারপাশে এমন একটি এলাকা যুক্ত করবে যেখানে সংঘর্ষ সনাক্ত করা যাবে। ছবি 4 দেখুন
  8. এখন ডান এবং বাম সীমানা নির্বাচন করুন এবং ডুপ্লিকেট করতে (ctrl+d) টিপুন।
  9. এটিকে "বাম সীমানা" নামকরণ করুন এবং প্রথমটির নাম পরিবর্তন করুন ("ডান সীমানা")।
  10. বাম সীমানা নির্বাচন করুন এবং ধাপ 3 এ একইভাবে এর x অক্ষ অবস্থান (-5) এ সামঞ্জস্য করুন। এখন আপনার ডান এবং বাম সীমানা রয়েছে।

উপরের এবং নীচের সীমানার সাথে পূর্ববর্তী 10 টি ধাপ পুনরাবৃত্তি করুন এবং x অবস্থানের পরিবর্তে বর্গের y অবস্থান পরিবর্তন করুন। চূড়ান্ত প্রিভিউ ছবির মতো কিছু হওয়া উচিত।

ছবি 5 দেখুন

ধাপ 2: বোর্ড যোগ করা এবং কন্ট্রোলার তৈরি করা

বোর্ড যোগ করা এবং কন্ট্রোলার তৈরি করা
বোর্ড যোগ করা এবং কন্ট্রোলার তৈরি করা
বোর্ড যোগ করা এবং কন্ট্রোলার তৈরি করা
বোর্ড যোগ করা এবং কন্ট্রোলার তৈরি করা
বোর্ড যোগ করা এবং কন্ট্রোলার তৈরি করা
বোর্ড যোগ করা এবং কন্ট্রোলার তৈরি করা

বোর্ড যোগ করা

একটি নতুন গেম অবজেক্ট তৈরি করুন এবং এর নাম প্লেয়ার 1।

সামঞ্জস্য করুন:

  • স্কেল: X (1.2), Y (0.15), Z (1)
  • অবস্থান: X (0), Y (-3.6), z (0)
  • BoxCollider2D যোগ করুন
  • Rigidbody 2D যোগ করুন এবং y এবং z অক্ষগুলি নিথর করুন।

ডুপ্লিকেট (ctrl+d) এবং কপি প্লেয়ার 2 এর নাম পরিবর্তন করুন।

সামঞ্জস্য করুন:

  • স্কেল: X (1.2), Y (0.15), Z (1)
  • অবস্থান: X (0), Y (3.6), z (0)
  • একটি BoxCollider ইতিমধ্যে সেখানে থাকবে।
  • একটি Rigidbody 2D ইতিমধ্যেই সেখানে থাকবে এবং y এবং z অক্ষগুলি ইতিমধ্যেই নিথর হয়ে যাবে।

ছবি 1 দেখুন

কন্ট্রোলার তৈরি করা

আপনার প্রয়োজন হবে:

  • 2 এক্স আরডুইনো ন্যানো
  • 2 এক্স বিগ ব্রেড বোর্ড
  • 2 এক্স ছোট রুটি বোর্ড
  • 4 এক্স ট্যাক সুইচ (পুশ বোতাম)
  • 4 এক্স প্রতিরোধক
  • 12X পুরুষ থেকে পুরুষ জাম্পার ওয়্যার

এখন জয়স্টিক্স একত্রিত করার জন্য রুটি বোর্ডের ছবি এবং ম্যাপিং দেখুন।

  1. একটি ছোট রুটি বোর্ডের সাথে একটি আরডুইনো ন্যানো চিপ সংযুক্ত করুন।
  2. ছবিতে দেখানো হিসাবে বড় রুটি বোর্ডে 2 টি ট্যাক সুইচ সংযুক্ত করুন। ব্রেড বোর্ডের ডান হাত বাম হাতে সমান রাখার চেষ্টা করুন কারণ এটি জয়স্টিকটিকে আরও সুন্দর দেখাবে (আপনি 30 তম কলামটি একটি প্রতিসাম্য হিসাবে ব্যবহার করতে পারেন লাইন)
  3. ছোট ব্রেড বোর্ডে Arduino এ 5V পিনের সাথে বাম বোতামের উপরের বাম পিনটি সংযুক্ত করুন (রুটিবোর্ডে একই কলামের সাথে সংযুক্ত জিনিসগুলি একে অপরের সাথে সংযুক্ত)।
  4. আরডুইনোতে 5V পিনের সাথে ডান বোতামের উপরের ডান পিনটি সংযুক্ত করুন।
  5. St১ তম কলামের একটি পয়েন্টের সাথে বাম বোতামের নিচের-ডান পিনটি একটি রোধক ব্যবহার করে সংযুক্ত করুন।
  6. একটি প্রতিরোধক ব্যবহার করে 29 তম কলামের একটি বিন্দুর সাথে ডান বোতামের নীচে-বাম পিনটি সংযুক্ত করুন।
  7. আরডুইনোতে জিএনডি পিনের সাথে প্রতিরোধকগুলিকে সংযুক্ত করুন।
  8. আরডুইনোতে ডি 3 পিনের সাথে বাম বোতামের উপরের ডান পিনটি সংযুক্ত করুন।
  9. আরডুইনোতে D9 পিনের সাথে ডান বোতামের উপরের বাম পিনটি সংযুক্ত করুন।
  10. এখন এই ধাপগুলি পুনরাবৃত্তি করুন এবং দ্বিতীয় নিয়ামক করুন।

ধাপ 3: সিরিয়াল পোর্টে Arduino সংযোগ করা

আরডুইনোকে সিরিয়াল পোর্টের সাথে সংযুক্ত করা হচ্ছে
আরডুইনোকে সিরিয়াল পোর্টের সাথে সংযুক্ত করা হচ্ছে
আরডুইনোকে সিরিয়াল পোর্টের সাথে সংযুক্ত করা হচ্ছে
আরডুইনোকে সিরিয়াল পোর্টের সাথে সংযুক্ত করা হচ্ছে
আরডুইনোকে সিরিয়াল পোর্টের সাথে সংযুক্ত করা হচ্ছে
আরডুইনোকে সিরিয়াল পোর্টের সাথে সংযুক্ত করা হচ্ছে
আরডুইনোকে সিরিয়াল পোর্টের সাথে সংযুক্ত করা হচ্ছে
আরডুইনোকে সিরিয়াল পোর্টের সাথে সংযুক্ত করা হচ্ছে

প্রথমে আপনাকে Arduino IDE ইনস্টল করতে হবে।

একবার এটি ইনস্টল হয়ে গেলে, আপনি একটি Arduino প্রোগ্রাম তৈরি করে শুরু করতে পারেন যা বোতামগুলি থেকে ইনপুট গ্রহণ করে এবং সেগুলি একটি সিরিয়াল পোর্টে (COM পোর্ট) সংরক্ষণ করে। যখন একটি Arduino বোর্ড আপনার ল্যাপটপের সাথে সংযুক্ত থাকে, তখন অপারেটিং সিস্টেম স্বয়ংক্রিয়ভাবে বোর্ডটিকে একটি সিরিয়াল পোর্ট হিসেবে স্বীকৃতি দেয়, যেসব প্রোগ্রামে আপলোড করা যায়। সিরিয়াল পোর্টে সংরক্ষিত মানগুলি পরবর্তী ধাপে ব্যবহার করা যেতে পারে যখন আমরা সিরিয়াল পোর্টের সাথে ইউনিটি ইঞ্জিনকে সংযুক্ত করি।

এখন আসুন Arduino কে সিরিয়াল পোর্টের সাথে সংযুক্ত করি।

ছবিটির দিকে তাকাও

  1. আপনার ল্যাপটপের সাথে একটি Arduino সংযুক্ত করুন
  2. সরঞ্জাম> বোর্ড> আরডুইনো ন্যানো
  3. যদি আপনার Arduino চিপ সাম্প্রতিক (2018-2020) সরঞ্জাম> প্রসেসর> ATmega328P (পুরাতন বুটলোডার) হয়।
  4. যদি আপনার Arduino চিপ সাম্প্রতিক না হয় (2018 এর আগে) সরঞ্জাম> প্রসেসর> ATmega328P
  5. সরঞ্জাম> পোর্ট> COM (যাই হোক না কেন সংখ্যাটি প্রদর্শিত হয়, আমার ক্ষেত্রে এটি 10)। * এটি সিরিয়াল পোর্ট যেখানে মান সংরক্ষণ করা হবে।
  6. কোডটি কপি করে Arduino IDE এ পেস্ট করুন এবং প্রোগ্রামটি আপলোড করতে ctrl+u চাপুন।
  7. দ্বিতীয় Arduino এর সাথে পুনরাবৃত্তি করুন। (ধাপ 5 করার সময় অন্য COM পোর্ট নির্বাচন করতে ভুলবেন না যাতে উভয় নিয়ামক একই সিরিয়াল পোর্টের সাথে সংযুক্ত না হয়)।

কোড:

অকার্যকর সেটআপ() {

Serial.begin (9600); পিনমোড (3, ইনপুট); // পিন D3 pinMode (9, INPUT) থেকে একটি ইনপুট পেতে Arduino কে বলা; // আরডুইনোকে পিন D9} ভয়েড লুপ () {যদি (ডিজিটাল রিড (3) == 1) { /* থেকে একটি ইনপুট পেতে বলছে যদি আরডুইনো 1 সিরিয়াল.রাইট (1) এর ইনপুট পায়; পিন 3 থেকে সিরিয়াল পোর্ট Serial.flush () এর মান 1 আউটপুট; */ বিলম্ব (2); } যদি (digitalRead (9) == 1) { /* যদি Arduino 1 Serial.write (2) এর ইনপুট পায়; পিন 9 আউটপুট থেকে সিরিয়াল পোর্ট Serial.flush () এর একটি মান 2 আউটপুট; */ বিলম্ব (2); }}

প্রোগ্রামের ব্যাখ্যা:

এই কোডটি কেবল আরডুইনোতে D3 পিন এবং D9 পিন থেকে একটি ইনপুট নেয়, যা বোতামগুলির সাথে সংযুক্ত। বোতামগুলি হয় চাপা বা চাপানো হয় যার অর্থ তাদের কাছ থেকে নেওয়া রিডিংগুলি হয় 1 (চাপা) বা 0 (চাপানো)। যদি ডান বোতাম থেকে ইনপুট (D9 থেকে) 1 হয় (চাপা) সিরিয়াল পোর্টে 1 এর মান সংরক্ষণ করুন। যদি বাম বোতাম থেকে ইনপুট (D3 থেকে) 1 হয় (চাপা) সিরিয়াল পোর্টে 2 এর মান সংরক্ষণ করুন।

ধাপ 4: সিরিয়াল পোর্টের সাথে Unক্য সংযুক্ত করা

সিরিয়াল পোর্টের সাথে Unক্য সংযুক্ত করা
সিরিয়াল পোর্টের সাথে Unক্য সংযুক্ত করা
সিরিয়াল পোর্টের সাথে Unক্য সংযুক্ত করা
সিরিয়াল পোর্টের সাথে Unক্য সংযুক্ত করা

এই ধাপের জন্য আমরা ইউনিটিতে সিরিয়াল পোর্ট চিহ্নিত করতে যাচ্ছি যাতে বোতাম টিপলে এটি Arduino থেকে ইনপুট গ্রহণ করতে পারে। আপনার ল্যাপটপে ভিজ্যুয়াল স্টুডিও কোড ইনস্টল করুন। তারপর ইউনিটিতে যান, অনুক্রম থেকে প্লেয়ার 1 নির্বাচন করুন, নিচে স্ক্রোল করুন এবং অ্যাড কম্পোনেন্ট নির্বাচন করুন এবং player1_motion টাইপ করুন তারপর এন্টার টিপুন। ছবি 1 দেখুন

পরিদর্শকের মধ্যে একটি C# স্ক্রিপ্ট তৈরি করা হবে, এটিতে ডান ক্লিক করুন এবং সম্পাদনা স্ক্রিপ্ট নির্বাচন করুন, ভিজ্যুয়াল স্টুডিও কোড খুলতে হবে এবং একটি ডিফল্ট কোড দেখাবে যা ছবি 2 এর মতো দেখাবে।

নিম্নলিখিত কোডটি অনুলিপি করুন তারপর "SerialPort sp = new SerialPort (" COM10 ", 9600) পরিবর্তন করুন;" SerialPort sp = new SerialPort ("COM পোর্ট যার সাথে আপনার Arduino সংযুক্ত আছে", 9600); আপনি আপনার Arduino কোডে ফিরে গিয়ে এবং টুলস> পোর্ট> COM (যাই হোক না কেন নম্বরটি দেখা যায়) খুঁজে পেতে পারেন।

কোড:

System. Collections ব্যবহার করে;

System. Collections. Generic ব্যবহার করে; ইউনিটি ইঞ্জিন ব্যবহার করে; System. IO. Ports ব্যবহার করে; পাবলিক ক্লাস প্লেয়ার 1_মোশন: মনোবিভিয়ার {ফ্লোট স্পীড = 8; ব্যক্তিগত ভাসা পরিমাণ উপরে; SerialPort sp = নতুন SerialPort ("COM10", 9600); // প্রথম ফ্রেম আপডেট শূন্য স্টার্ট () {sp. Open () এর আগে স্টার্ট বলা হয়; sp. ReadTimeout = 1; } // আপডেট প্রতি একবার বলা হয় void Update () {amounttomove = speed*0.01f; যদি (sp. IsOpen) {try {moveObject (sp. ReadByte ()); মুদ্রণ (sp. ReadByte ()); } catch (System. Exception) {}}} void moveObject (int Direction) {if (Direction == 1) {transform. Translate (Vector3.left*amounttomove, Space. World); } if (Direction == 2) {transform. Translate (Vector3.right*amounttomove, Space. World); }}}

কোডের ব্যাখ্যা:

এই কোডটি সিরিয়াল পোর্ট (COM 10) থেকে ইনপুট গ্রহণ করতে unityক্যকে বলে। যখন বাম বোতামটি চাপানো হয়, Arduino সিরিয়াল পোর্টে 1 এর একটি মান পাঠায়, যদি সিরিয়াল পোর্ট থেকে একতা 1 পায়, বাম দিকের "প্লেয়ার 1" গেম অবজেক্টে একটি বেগ যোগ করা হয়। যখন ডান বোতামটি চাপানো হয়, Arduino সিরিয়াল পোর্টে 2 এর একটি মান পাঠায়, যদি সিরিয়াল পোর্ট থেকে একতা 2 পায়, সঠিক গতিতে গেম বস্তু "প্লেয়ার 1" এ একটি বেগ যোগ করা হয়। যদি সিরিয়াল পোর্ট সিরিয়াল পোর্ট থেকে কোন মূল্য না পায়, কোন গতিতে কোন গতি যোগ করা হয় না, তাই বোর্ড স্থির থাকে।

কোডটি কপি করার পর কোডটি তৈরি এবং চালানোর জন্য F5 চাপুন। Unityক্যে ফিরে যান এবং প্লে বাটন টিপুন, প্লেয়ার 1 ডানদিকে সরানো উচিত যখন আপনি ডান এবং বাম টিপলে বাম টিপুন।

এখন, আবার একই ধাপগুলি করুন কিন্তু প্লেয়ার 2 এর সাথে এবং প্লেয়ার 1_মোশনের পরিবর্তে 'অ্যাড কম্পোনেন্ট' প্লেয়ার 2_মোশনে লিখতে ভুলবেন না এবং দ্বিতীয় সিওএম পোর্ট যা দ্বিতীয় নিয়ামক সংযুক্ত, একই সিরিয়াল পোর্ট নয়।

কোডের মধ্যে আপনাকে "পাবলিক ক্লাস প্লেয়ার 1_মোশন: মনোবিভিয়ার" থেকে "পাবলিক ক্লাস প্লেয়ার 2_মোশন: মোনো বিহেভিওর" এ পরিবর্তন করতে হবে।

ধাপ 5: বল যোগ করা

বল যোগ করা
বল যোগ করা
বল যোগ করা
বল যোগ করা
বল যোগ করা
বল যোগ করা
  1. একটি নতুন গেম অবজেক্ট যোগ করুন, কিন্তু এবার বর্গক্ষেত্রের পরিবর্তে একটি বৃত্ত নির্বাচন করুন।
  2. এর নাম দিন "বল"।
  3. অনুক্রমের মধ্যে টানুন এবং ড্রপ করুন।
  4. স্কেল সামঞ্জস্য করুন (X: 0.2 - Y: 0.2 - Z: 0.2)।
  5. একটি Rigidbody 2D যোগ করুন এবং শুধুমাত্র Z অক্ষটি নিথর করুন।
  6. ভর পরিবর্তন করে 0.0001 করুন
  7. মাধ্যাকর্ষণ স্কেল পরিবর্তন করুন 0।
  8. একটি বক্স কোলাইডার 2D যোগ করুন।
  9. সম্পদগুলিতে যান> তৈরি করুন> পদার্থবিদ্যা উপাদান 2D ছবি 1 দেখুন
  10. এর নাম পরিবর্তন করে "বাউন্স" করুন
  11. পরিদর্শক থেকে ঘর্ষণ শূন্যে পরিবর্তন করুন
  12. ইন্সপেক্টর থেকে বাউন্সেসকে 1 এ পরিবর্তন করুন
  13. Rigidbody 2D> বস্তুতে "বাউন্স" টেনে আনুন এবং ছবি 2 এ দেখুন
  14. অনুক্রম থেকে আবার "বল" নির্বাচন করুন এবং উপাদান যোগ করতে যান এবং Ball_movement টাইপ করুন তারপর এন্টার টিপুন।
  15. স্ক্রিপ্টে ডান ক্লিক করুন এবং স্ক্রিপ্ট সম্পাদনা নির্বাচন করুন।
  16. নীচের কোডটি অনুলিপি করুন এবং এটি তৈরি এবং চালানোর জন্য F5 টিপুন।

কোড:

System. Collections ব্যবহার করে;

System. Collections. Generic ব্যবহার করে; ইউনিটি ইঞ্জিন ব্যবহার করে; পাবলিক ক্লাস Ball_movement: MonoBehaviour {// স্টার্ট বলা হয় প্রথম ফ্রেম আপডেট করার আগে ব্যক্তিগত ফ্লোট ফোর্স = 2; অকার্যকর শুরু () {StartCoroutine (move ()); } IEnumerator move () {ফলন নতুন WaitForSeconds (2); GetComponent ()। AddForce (নতুন ভেক্টর 2 (1f, 0.5f)*0.02f*বল); }}

কোড 'ব্যাখ্যা

এই কোডটি বলকে একটি গতি দেয় X দিক এবং Y দিকটি একই মাত্রার সাথে, যা বলটিকে 45 ° কোণে নিয়ে যায়। ধাপ 8 এ আমরা বলটিতে একটি পদার্থবিজ্ঞান উপাদান যুক্ত করেছি এবং এর বাউন্সিনেস পরিবর্তন করেছি, এটি খেলার মাধ্যমে বলের গতিবিধি বজায় রাখে।

ধাপ 6: গেমটি চূড়ান্ত করা

খেলা চূড়ান্ত করা
খেলা চূড়ান্ত করা
খেলা চূড়ান্ত করা
খেলা চূড়ান্ত করা
খেলা চূড়ান্ত করা
খেলা চূড়ান্ত করা
খেলাটি চূড়ান্ত করা
খেলাটি চূড়ান্ত করা

এখন আমাদের হারানো সম্ভব করা দরকার, যদি আপনি গেমটি চালান তাহলে আপনি লক্ষ্য করবেন যে যখন বল প্লেয়ার 1 বা প্লেয়ার 2 পাস করে তখন এটি কেবল সীমানা থেকে বাউন্স করে এবং আমাদের গেমটিতে ঠিক সেটাই প্রয়োজন নয়। পরিবর্তে আমরা এমন একটি স্কোর কাউন্টার বানাতে চাই যেটি প্রতিবার বল উপরে বা নিচে সীমানার সাথে ধাক্কা খায় এবং বলের অবস্থান পুনরায় সেট করতে স্কোর গণনা করে।

  1. অনুক্রম থেকে বলটিকে টেনে আনুন এবং ফেলে দিন, আপনি বলের একটি প্রিফ্যাব তৈরি করেছেন যাতে আপনি পরে এটি ব্যবহার করতে পারেন।
  2. অনুক্রমের উপর ডান ক্লিক করুন এবং খালি তৈরি করুন নির্বাচন করুন। একটি খালি বস্তু দেখা যাবে, এটির নাম পরিবর্তন করে বল রেসপন এবং তার অবস্থানকে বলের অবস্থানের মতো পরিবর্তন করুন।
  3. অনুক্রমের উপর ডান ক্লিক করুন এবং UI >> পাঠ্য নির্বাচন করুন। লক্ষ্য করুন যে পাঠ্যটি একটি ক্যানভাসের সাথে থাকে গেমটিতে পাঠ্যের অবস্থান ক্যানভাসে পাঠ্যের অবস্থানের উপর নির্ভর করে, আমাদের গেমের সীমানায় নয়। (ছবি 1 দেখুন)।
  4. আপনি যেখানেই চান সেখানে পাঠ্যের অবস্থান পরিবর্তন করুন।
  5. দ্বিতীয় খেলোয়াড়ের স্কোরের জন্য ধাপ 3 এবং 4 পুনরাবৃত্তি করুন।
  6. প্রথম পাঠ্য "প্লেয়ার 1 স্কোর: 0" টাইপ করুন এবং দ্বিতীয় পাঠ্য "প্লেয়ার 2 স্কোর: 0" টাইপ করুন। (ছবি 2 দেখুন)।
  7. P1wins নামক আপ বর্ডারে একটি স্ক্রিপ্ট তৈরি করুন এবং নিচের কোডটি কপি করুন।

কোড:

System. Collections ব্যবহার করে;

System. Collections. Generic ব্যবহার করে; ইউনিটি ইঞ্জিন ব্যবহার করে; UnityEngine. SceneManagement ব্যবহার করে; UnityEngine. UI ব্যবহার করে; public class p1wins: MonoBehaviour {public text score; পাবলিক ট্রান্সফর্ম ball_respawn; পাবলিক GameObject বল; ব্যক্তিগত int p1 = 0; // প্রথম ফ্রেম আপডেট শূন্য করার আগে শুরু বলা হয় } অকার্যকর OnCollisionEnter2D (Collision2D other) {if (other.gameObject.tag == "Ball") {Destroy (other.gameObject); p1 ++; তাত্ক্ষণিক (বল, ball_respawn.position, ball_respawn.rotation); }}}

8. প্রজেক্ট থেকে বল প্রিফ্যাবকে টেনে আনুন এবং বাদ দিন বল প্যারামিটারে। (ছবি 3 দেখুন)

9. অনুক্রম থেকে ক্রমবর্ধমান বলকে পুনরায় বল-রারস্পোন প্যারামিটারে টেনে আনুন। (ছবি 3 দেখুন)

10. প্লেয়ার 1 স্কোরকে হায়ারার্কি থেকে স্কোর প্যারামিটারে টেনে আনুন। (ছবি 3 দেখুন)

কোডের ব্যাখ্যা:

যখন বলটি উপরের সীমানার সাথে ধাক্কা খায় তখন এটি আবার ধাক্কা খায় এবং পুনরায় বল_ রেসপন পজিশনে যা আমরা ২ য় ধাপে নির্ধারিত করেছি, বলটিকে প্রিফ্যাব বানানোর লক্ষ্য হল এটিকে তার সমস্ত বৈশিষ্ট্য দিয়ে পুনরায় তৈরি করা, অন্যথায়, যদি আমরা বল ব্যবহার করি শ্রেণিবিন্যাস থেকে এটি পুনরুজ্জীবিত হবে কিন্তু এটি নড়বে না। এছাড়াও যখন বলটি উপরের সীমানার সাথে ধাক্কা খায় তখন একটি মান যা 0 এর সমতুল্য, যাকে p1 বলা হয় 1 দ্বারা বৃদ্ধি পায়।

এখন নিচের সীমানার জন্য 7, 8, 9 এবং 10 ধাপগুলি করুন

ধাপ 7 এর জন্য, p2wins নামে একটি স্ক্রিপ্ট তৈরি করুন এবং এর পরিবর্তে নিম্নলিখিত কোডটি অনুলিপি করুন।

ধাপ 10 এর জন্য, প্লেয়ার 2 স্কোরকে শ্রেণিবিন্যাস থেকে স্কোর প্যারামিটারে ড্র্যাগ এবং ড্রপ করুন।

কোড:

System. Collections ব্যবহার করে;

System. Collections. Generic ব্যবহার করে; ইউনিটি ইঞ্জিন ব্যবহার করে; UnityEngine. SceneManagement ব্যবহার করে; UnityEngine. UI ব্যবহার করে; public class p2wins: MonoBehaviour {public text score; পাবলিক ট্রান্সফর্ম ball_respawn; পাবলিক GameObject বল; ব্যক্তিগত int p2 = 0; // প্রথম ফ্রেম আপডেট শূন্য হওয়ার আগে স্টার্ট বলা হয় () {} // প্রতি ফ্রেম ভয়েড আপডেটে একবার আপডেট বলা হয় () {score.text = "প্লেয়ার 2 স্কোর:" + p2; } অকার্যকর OnCollisionEnter2D (Collision2D other) {if (other.gameObject.tag == "Ball") {Destroy (other.gameObject); p2 ++; তাত্ক্ষণিক (বল, ball_respawn.position, ball_respawn.rotation); }}}

প্রস্তাবিত: