সত্তা উপাদান সিস্টেমগুলি উপস্থাপন এবং প্রয়োগ করার জন্য প্রচুর উপায় রয়েছে, তবে এখানে একটি উপায়ের ব্যাখ্যা। মনে রাখবেন সত্তা / উপাদান / সিস্টেম আর্কিটেকচারের কোনও দৃ concrete় সংজ্ঞা নেই, সুতরাং এটি কেবলমাত্র একটি বাস্তবায়ন।
আমি সত্তা / উপাদান / সিস্টেম আর্কিটেকচারগুলির জন্য উপমা প্রবর্তন করতে যা যা সহায়তা করতে পারে। আসুন কী হিসাবে একটি সত্তা মনে করি।
সত্তা
কীগুলির দাঁতও রয়েছে (গা dark় নীল)। আমাদের সত্তা কী এর দাঁতগুলি এটি তৈরি করে এমন উপাদানগুলি। সত্ত্বা তাদের আইডি দিয়ে আলাদা করে বলতে পারেন, এমনকি তাদের দাঁত একই থাকলেও। সুতরাং কী কী মাপসই করা হয়? লক। তালা আমাদের সিস্টেম। উদাহরণস্বরূপ, একটি আন্দোলন ব্যবস্থা।
পদ্ধতি
লকটি কেবল তখনই কার্যকর হয় যদি আমাদের কীতে অবস্থান এবং গতি উভয়ের জন্য দাঁত থাকে। এই সিস্টেমটি কেবলমাত্র সত্ত্বাগুলির পদক্ষেপ করে যা একটি অবস্থান এবং বেগ রাখে। সেখানে কিভাবে এই সিস্টেমের চিনতে যা সত্ত্বা প্রক্রিয়া, কিন্তু এক উপায় ব্যবহার করা সেট আপ করার জন্য একাধিক উপায় আছে long
। প্রতিটি বিট একটি উপাদান ধরনের জন্য সংরক্ষিত। আমাদের উদাহরণের জন্য একটি 64 বিট দীর্ঘের পরিবর্তে 4 বিট টাইপ ধরে নেওয়া যাক। আমাদের উদাহরণ সত্তা সমস্ত উপলব্ধ উপাদান থাকবে। সুতরাং এটি কী হবে 1111
। তারপরে, সিস্টেমটি এমন কোনও সত্তার সন্ধান করছে যা ক 11--
। ( -
প্রতিনিধিত্বকারীদের কোনও যত্ন নেই, কারণ স্প্রিট বা স্বাস্থ্য আছে কিনা তা চলাচল করে না। এটি একটি সাধারণ AND
ক্রিয়াকলাপ সহ কোনও সত্তা পরীক্ষা করতে পারে । সুতরাং আমাদের সত্তা মেলে যদি ((1111 & 1100) == 1100)
। যদি আমি আপনাকে হারিয়ে ফেলেছি তবে বিটওয়াইজ অপারেশন সম্পর্কে আরও কিছু পরীক্ষা করে দেখুন ।
আপনি দেখতে পাচ্ছেন যে সিস্টেমগুলির বাইরের সংস্থানগুলিতে অ্যাক্সেস রয়েছে। তারা সময়, গ্রাফিক্স, শব্দ এবং আরও কিছুতে অ্যাক্সেস করতে পারে। এগুলি কেবল সামান্য প্রসেসর যা একবারে একটি কী নিয়ে যায় এবং ডেটা প্রক্রিয়া করে। আপনি দেখতে পাচ্ছেন যে আন্দোলন ব্যবস্থা বেগ, ব-দ্বীপ সময় এবং অবস্থান গ্রহণ করে; তারপরে কিছু গণনা করে এবং ফলাফলটিকে আবার পজিশনে সঞ্চয় করে।
সত্তা কীগুলি উত্পন্ন করা সত্যিই সহজ। আপনি ইচ্ছামত এগুলি যুক্ত বা সরাতে পারেন। সত্তা কোনও যত্ন করে না, এটি উপাদানগুলি গ্রুপ এবং হোল্ড করার একমাত্র উপায়। উপাদানগুলির কোনও আন্তঃনির্ভরতা নেই। একে অপরের সাথে কথোপকথনের সবচেয়ে কাছের উপাদানগুলি তখন হয় যখন কোনও সিস্টেম তাদের উপর চালিত হয় এবং আমাদের চলাচলের উদাহরণের মতো, অন্যটিকে আপডেট করার জন্য এক থেকে ডেটা ব্যবহার করে।
ধারণাটিকে আরও দৃify় করতে সহায়তা করার জন্য অন্য একটি সিস্টেমে একবার দেখে নেওয়া যাক:
এটি আমাদের অঙ্কন ব্যবস্থা। এটি মেলে এমন উপাদানগুলির সন্ধান করে 1-1-
। এই সত্তাটির সাথে মেলে কারণ: ((1111 & 1010) == 1010)
অতিরিক্ত হিসাবে, আপনি দেখতে পাচ্ছেন যে এই সিস্টেমটি তার অবস্থানে সত্তা স্প্রিট আঁকিয়ে স্ক্রিনে তথ্য আউটপুট করে।
ঠিক আছে, আরও একটি। আসুন অন্য সত্তাটি দেখুন এবং দেখুন এখন পর্যন্ত এটি কীভাবে আমাদের উদাহরণে খাপ খায়।
আপনি দেখতে পাচ্ছেন, এই সত্তার সাথে এর সাথে কম উপাদান সংযুক্ত রয়েছে। এটিতে থাকা উপাদানগুলি দেখে, দেখে মনে হচ্ছে এটি কোনও শৈলের মতো স্থির আইটেম হতে পারে। এটির একটি অবস্থান এবং একটি স্প্রাইট রয়েছে। এটি সরবে না এবং এটি কোনও স্বাস্থ্যগত পরিবর্তন দ্বারা প্রভাবিত হবে না। এই সত্তা 1010 এর কী তৈরি করবে So সুতরাং এই সত্তায় কোন সিস্টেমগুলি কাজ করে? চেক করুন:
আমাদের আন্দোলন ব্যবস্থার বিরুদ্ধে:
((1010 & 1100) != 1100)
না। দেখে মনে হচ্ছে আন্দোলন ব্যবস্থা এই সত্তাটির বিষয়ে চিন্তা করে না, কারণ এতে প্রয়োজনীয় উপাদান নেই।
আমাদের অঙ্কন ব্যবস্থার বিরুদ্ধে:
((1010 & 1010) == 1010)
আরে, এটি একটি মিল। এই সত্তাটি অঙ্কন সিস্টেম দ্বারা পরিচালিত হবে। অঙ্কন সিস্টেম সংজ্ঞায়িত অবস্থানে স্প্রিট আঁকবে।
আশা করি আপনি দেখতে পাচ্ছেন যে এখন এমন আরও একটি সিস্টেম যুক্ত করা কত সহজ হবে যা আমাদের উপাদানগুলি গ্রহণ করে এবং সেগুলি চালিত করে। আমি আপনার প্রশ্নগুলি সম্বোধন করেছি তা নিশ্চিত করুন:
যদি একাধিক সিস্টেমে একই উপাদানটিতে অ্যাক্সেসের প্রয়োজন হয়? কোথায় তথ্য থাকা উচিত?
সাধারণত, সিস্টেমগুলি একের পর এক কাজ করে। তারা তাদের প্রয়োজনীয়তার সাথে মেলে এমন সমস্ত সত্তা প্রক্রিয়াজাত করে, তারপরে পরবর্তী সিস্টেমটি একই কাজ করে। তথ্য সত্তার সাথে থাকে। সিস্টেমে কোনও জিনিস সংরক্ষণ করা উচিত নয়, এটি কেবলমাত্র একটি লক পরিণত হবে যা মূল তথ্যটি যেখানে থাকে এবং লক থেকে লক পর্যন্ত চলে moves
সত্তা কিভাবে নির্মিত হয়? সিস্টেমগুলি কি কোনও উপাদানকে অভ্যন্তরীণভাবে বাঁধা হয়? আমি যদি কিছু নতুন উপাদান প্রবর্তন করতে চাই তবে আমাকে কি নতুন সিস্টেম প্রবর্তন করতে হবে বা বিদ্যমান একটিটি সংশোধন করতে হবে?
সত্তা উপাদানগুলির কেবল ব্যাগ। তাদের একটি অনন্য আইডি এবং উপাদানগুলির তালিকা রয়েছে। উপরে বর্ণিত পদ্ধতিতে সিস্টেমগুলি কেবলমাত্র উপাদানগুলির সাথে আবদ্ধ। আপনার সিস্টেমে চালিত সিস্টেমগুলি ছাড়াই উপাদান থাকতে পারে, তবে এটি বেশ অর্থহীন। একইভাবে আপনার কাছে এমন সিস্টেম থাকতে পারে যা এমন উপাদানগুলির সন্ধান করছে যা কোনও সংস্থার নেই। এটি কম অর্থহীন, কারণ তারা কেবল কোনও সত্তা তৈরির জন্য অপেক্ষা করতে পারে যা তাদের লকের সাথে মেলে। সুতরাং, হ্যাঁ, আপনি যদি একটি নতুন উপাদান প্রবর্তন করেন, আপনি এমন একটি সিস্টেম তৈরি করতে চান যা সেই উপাদানটিকে কাজে লাগায়। অন্যথায় আপনি নিজের চাবিতে দাঁত যুক্ত করছেন এমন কোনও লক নেই যা বিদ্যমান নেই।
যদি আমার সত্ত্বাটি কেবল একটি আইডি হয় তবে আমি কীভাবে জানতে পারি যে আমার রোবট সত্তাকে কোনও সিস্টেমের দ্বারা সরানো বা রেন্ডার করা এবং এইভাবে সংশোধন করা দরকার?
আমি মনে করি যে আমি একটি long
কী এর ধারণার সাথে এটির উত্তর দিয়েছি যা কোনও সত্তায় থাকা উপাদানগুলির সংজ্ঞা দেয়। আপনি জানেন কারণ চাবিটি লকটি ফিট করে।
রাম রাম! সেটা ছিল দীর্ঘ পোস্ট! (বা কমপক্ষে এটি আমার বড় মনিটরের কাছ থেকে দেখে মনে হচ্ছে))