আমি বুঝতে পারি এটি একটি পুরানো প্রশ্ন তবে সম্ভবত কেউ এই উত্তরটি দরকারী বলে মনে করবে।
আমি বিশ্বাস করি যে Systems
উপাদানগুলি কীভাবে তৈরি করা যায় তা বুঝতে আপনাকে আরও সহায়তা করবে। সিস্টেমগুলি আর্কিটেকচারে উপস্থিত রয়েছে যেখানে উপাদানগুলি তাদের নিজস্ব যুক্তি ধারণ করে না, সরল গেটর / সেটটার এবং সহায়ক ফাংশনগুলি বাদ দিয়ে। সিস্টেমগুলি সংস্থাগুলির প্রয়োজনীয়তা পূরণ করে এমন সংস্থাগুলিতে কাজ করে। এই কারণেই উপাদানটি ডেটা যতটা পৃথক করা ভাল ততটুকু যতটা বুদ্ধিমান হয় অন্য ডেটা ছাড়াই সেই ডেটা প্রক্রিয়া করার জন্য proces
উদাহরণস্বরূপ, যদি আপনি একটি থাকতে পারে MovementSystem
যা তার সংস্থাগুলো আপডেটগুলি Position
তাদের উপর ভিত্তি করে Velocity
। এটি গেমটিতে সরল সত্তার জন্য হতে পারে। তবে, প্লেয়ার এবং শত্রুদের জন্য, আপনি যে Acceleration
প্রক্রিয়াটি প্রক্রিয়াধীন রয়েছে এমন কোনও আন্দোলন করতে পারেন AcceleratedMovementSystem
। তবে বাধা বিপক্ষে আপনি চাইতে পারেন Friction
। ভূখণ্ড এছাড়াও ঘর্ষণ থাকতে পারে, কিন্তু এটি একটি বেগ উপাদান থাকবে না। তবে কি Gravity
? কেবল এটিকে প্লেয়ার, শত্রু এবং অন্তরায় যুক্ত করুন এবং GravitySystem
এটি প্রক্রিয়া করার জন্য একটি তৈরি করুন ।
নীচের লাইনটি আপনার আরও ডিকপলডComponents
হয়, আরো প্রসার্যEntities
যখন ব্যবহার করা হবে Systems
।
সম্পাদনা করুন: সর্বশেষ বিবৃতিটি পরিষ্কার করা হয়েছে।
সম্পাদনা: ঠিক আছে, আমি নিজের সিস্টেমে কাজ করছি এবং এই উপলব্ধিতে এসেছি। পজিশন এবং বেগটি বিভাজনের জন্য একটি উদাহরণ হ'ল वेगটি চালিত করার ফলে একটি মুভিশন সিস্টেমের সাথে পজিশনটি পরিবর্তিত হয়। ফলস্বরূপ, প্লেয়ারটিকে ব্যবহারকারী ইনপুট থেকে সরানোর জন্য কোনও 'ইনপুটমোভমেন্টসিস্টেম' এর জন্য কোনও পজিশনের প্রয়োজন হয় না কারণ মুভমেন্টসিস্টেমটি পজিশনে প্রয়োগের জন্য वेगটিতে পরিবর্তনগুলি গ্রহণ করবে। মঞ্জুর, এগুলি একত্রিত করার জন্য এটি এখনও ঠিক কাজ করবে তবে এটি কেন প্রয়োজন হবে না তার একটি উদাহরণ।
আমি সম্প্রতি একটি ব্লগ পোস্ট পড়েছিলাম যা এরকম কিছু বলেছিল:
"আপনার কাছে যদি এমন ডেটা থাকে যা 2 টি পৃথক উপাদানগুলির সাথে গোষ্ঠীভুক্ত করা যায় তবে সেই ডেটা দিয়ে তৃতীয় উপাদান তৈরি করা ভাল" "