আমি একটি উপাদান-ভিত্তিক গেম অবজেক্ট সিস্টেম তৈরি করছি । কিছু টিপস:
GameObjectকেবল একটি তালিকাComponents।- আছে
GameSubsystems। উদাহরণস্বরূপ, রেন্ডারিং, পদার্থবিজ্ঞান ইত্যাদি প্রত্যেকটিতেGameSubsystemকিছু কিছুতে পয়েন্টার রয়েছেComponents।GameSubsystemএটি একটি খুব শক্তিশালী এবং নমনীয় বিমূর্ততা: এটি গেম বিশ্বের যে কোনও স্লাইস (বা দিক) উপস্থাপন করে।
নিবন্ধনের একটি প্রক্রিয়া একটি প্রয়োজন নেই Componentsএ GameSubsystems(যখন GameObjectতৈরি করেছেন এবং গঠিত হয়)। আছে 4 পন্থা :
- 1: দায়িত্ব প্যাটার্নের চেইন । প্রত্যেককে প্রত্যেককে
Componentদেওয়া হয়GameSubsystem।GameSubsystemকোন সিদ্ধান্তComponentsনিবন্ধিত করতে হবে (এবং কীভাবে তাদের সংগঠিত করবেন) makes উদাহরণস্বরূপ, গেমসউসসিস্টেমরেন্ডার রেন্ডারেবল উপাদানগুলি নিবন্ধন করতে পারে।
প্রো। Componentsসেগুলি কীভাবে ব্যবহৃত হয় সে সম্পর্কে কিছুই জানেন না। কম মিলন। উ: আমরা নতুন যুক্ত করতে পারি GameSubsystem। উদাহরণস্বরূপ, আসুন গেমসবুটিস্টিটম্যাটেলগুলি যুক্ত করুন যা সমস্ত কম্পোনেন্টটাইল নিবন্ধভুক্ত করে এবং গ্যারান্টি দেয় যে প্রতিটি শিরোনামটি অনন্য এবং শিরোনাম অনুসারে প্রশ্নগুলির اعتراضগুলিকে ইন্টারফেস সরবরাহ করে। অবশ্যই, এক্ষেত্রে কম্পোনেন্টটাইটল পুনরায় লেখা বা উত্তরাধিকারসূত্রে প্রাপ্ত হওয়া উচিত নয়। বি। আমরা বিদ্যমান পুনর্গঠন করতে পারেন GameSubsystems। উদাহরণস্বরূপ, গেমসুবসিস্টেমউডিও, গেমসবুটিস্টেমরেন্ডার, গেমসুস্টিস্টম পার্টিক্যাল এমমিটারকে গেমসুবসিস্টেমস্পটিয়ালে একীভূত করা যেতে পারে (সমস্ত অডিও, এমমিটার স্থাপনের জন্য, Componentsএকই শ্রেণিবিন্যাসে রেন্ডার করতে এবং প্যারেন্ট-আপেক্ষিক ট্রান্সফর্ম ব্যবহার করতে পারেন)।
বিরূদ্ধে। প্রতি-প্রতিটি চেক। খুব অদক্ষ।
বিরূদ্ধে। Subsystemsসম্পর্কে জানুন Components।
- 2: প্রতিটি নির্দিষ্ট ধরণের
Subsystemজন্য অনুসন্ধান করেComponents।
প্রো। চেয়ে ভাল পারফরম্যান্স Approach 1।
বিরূদ্ধে। Subsystemsএখনও সম্পর্কে জানি Components।
- 3:
Componentনিজেকে নিবন্ধন করেGameSubsystem(s)। আমরা সংকলন সময়ে জানি যে একটি গেমসবুটিস্টেমেন্ডেন্ডার রয়েছে, সুতরাং আসুন কমপোনেন্টআইমেজ রেন্ডার গেমসউসসিস্টেমেন্ডারার :: রেজিস্টার (কম্পোনেন্টরেন্ডারবেস *) এর মতো কিছু কল করবে।
প্রো। কর্মক্ষমতা. হিসাবে অপ্রয়োজনীয় চেক নেই Approach 1।
বিরূদ্ধে। Componentsখারাপভাবে মিলিত হয় GameSubsystems।
- 4: মধ্যস্থতা প্যাটার্ন।
GameState(এতে রয়েছেGameSubsystems) নিবন্ধক সংস্থার (উপাদান *) প্রয়োগ করতে পারে।
প্রো। Componentsএবং GameSubystemsএকে অপরের সম্পর্কে কিছুই জানে না।
বিরূদ্ধে। সি ++ এ এটি দেখতে কুৎসিত এবং ধীর টাইপাইড-স্যুইচের মতো হবে।
প্রশ্ন:
কোন পদ্ধতিটি আরও ভাল এবং বেশিরভাগই উপাদান-ভিত্তিক ডিজাইনে ব্যবহৃত হয়? অনুশীলন কি বলে? বাস্তবায়ন সম্পর্কে কোন পরামর্শ Approach 4?
ধন্যবাদ.
Componentsকরা GameObjectsআমার প্রশ্নের অবকাশ। উপাদান-ভিত্তিক পদ্ধতির সম্পর্কে নিবন্ধগুলি পড়ুন বা আপনি যদি আগ্রহী হন তবে এই সাইটে আপনার নিজের প্রশ্ন জিজ্ঞাসা করুন। আপনি যা ভাবছেন GameSubsystemতা সম্পূর্ণ ভুল।