সত্ত্বা সিস্টেমে ইউআই / এইচডি কোড কীভাবে করবেন?


18

আমি মনে করি আমি ইতিমধ্যে অ্যাডাম মার্টিন (টি-মেশিন) দ্বারা অনুপ্রাণিত সত্তা সিস্টেমের ধারণা পেয়েছি। আমি আমার পরবর্তী প্রকল্পের জন্য এটি ব্যবহার শুরু করতে চাই।

আমি ইতিমধ্যে সত্তা, উপাদান এবং সিস্টেমের বেসিকটি জানি। আমার সমস্যাটি হল কীভাবে ইউআই / এইচডিডি পরিচালনা করতে হয়। উদাহরণস্বরূপ, একটি অনুসন্ধান উইন্ডো, দক্ষ উইন্ডো, চরিত্রের তথ্য উইন্ডো ইত্যাদি আপনি কীভাবে ইউআই ইভেন্টগুলি পরিচালনা করবেন (যেমন, একটি বোতাম টিপুন)? এগুলি এমন স্টাফ যা প্রতিটি ফ্রেমে প্রক্রিয়া করার প্রয়োজন হয় না। বর্তমানে, আমি ইউআই কোড করতে এমভিসি ব্যবহার করছি তবে আমি মনে করি না যে এটি সত্তা সিস্টেমের জন্য উপযুক্ত হবে।

আমি পড়েছি যে সত্তা সিস্টেমটি একটি বৃহত ওওপিতে এমবেড করা আছে। আমি জানি না ইউআই ইএসের বাইরে আছে কিনা। আমি কীভাবে এটির কাছে যেতে পারি?

উত্তর:


17

হতে পারে আপনি সত্তা সিস্টেমে খুব বেশি চিন্তা করছেন। সত্ত্বা হ'ল অক্ষর, শত্রু, স্ক্রিপ্ট, বুলেট, ট্রিগার ইত্যাদির মতো খেলায় স্কোপ অবজেক্টকে বোঝানো হয় etc.

হতে পারে আপনি যদি আপনার ইউআই আলাদা করে রাখেন তবে এটি আরও ভাল এবং সহজতর হবে। আপনাকে সত্তাগুলির সুযোগের ভিতরে সমস্ত কিছুই করতে হবে না।


অ্যাডাম মার্টিন তাঁর একটি পোস্টে বা টি-মেশিনে মন্তব্য করেছেন এটিও। ES একটি নির্দিষ্ট সমস্যার সমাধান। এটি গেমের অন্যান্য দিকগুলির (ইঞ্জিন) আরও 'traditionalতিহ্যবাহী' সমাধানগুলির সাথে একসাথে ব্যবহার করা যেতে পারে।
ব্যবহারকারী 8363

ধন্যবাদ. ES- এ কী থাকতে হবে তা আমি নিশ্চিত নই। সুতরাং আপনি কীভাবে কার্যকর ইউআই কোড করবেন? আমি মনে করি এমভিসি এটি কাটবে না কারণ আমার শ্রেণিবদ্ধতা নিয়ে সমস্যা হচ্ছে।
সিল্ফিড

আমি দেখতে পাচ্ছি আপনি ইউআই এর জন্য বিভিন্ন আর্কিটেকচার ব্যবহার করতে সম্মত হন। তাহলে এমভিসি নিয়ে সমস্যা কী?
নরেক

@ আর্মেন ​​এমভিসির কোনও সমস্যা নেই, তবে এটি সত্তাগুলির মধ্যে রেখে দেওয়ার সুযোগ রয়েছে। এটি ঠিক যে এর সুবিধাগুলি এর অসুবিধাগুলি হারাবে না। আর্কিটেকচার নভোচারী
গুস্তাভো ম্যাকিয়েল

3

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

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

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


1

আপনি একটি নতুন ইন্টারফেস ফাংশন করতে পারেন যা যখনই ইউআই / এইচডি আঁকা হয় তখন ডাকা হয় এবং কাস্টম / স্ক্রিপ্টযুক্ত উপাদানগুলিকে সেই ফাংশনটি প্রয়োগ করার অনুমতি দেয়। এটি ব্যবহারের জন্য একটি আইএমজিইউআই সিস্টেমের প্রয়োজন ( এটিতে গুগলে প্রচুর টিউটোরিয়াল রয়েছে, এটি কেবল আসল উপস্থাপনা) be এটির সাহায্যে আপনি উইন্ডোজটিকে সত্তা হিসাবে তৈরি করতে পারেন যার মধ্যে আপনার নিজের ইউআই-বিল্ডিং উপাদান এবং একটি উইন্ডো ফ্রেম রেন্ডারারের উপাদান থাকবে।

এই প্রতিটি ফ্রেমের সমস্ত প্রক্রিয়াজাতকরণ না করার জন্য, আপনি সমস্ত ইউআইকে একটি আলাদা বাফারে রেন্ডার করতে পারেন যা আপনি কেবলমাত্র সমস্ত ধরণের ইনপুট / ডেটা ইভেন্টগুলিতে আপডেট করবেন। এটি হ'ল, যখনই কোনও ইভেন্ট প্রাপ্ত হয়, এটি উইন্ডোটির পরবর্তী ফ্রেমটি পুনরায় রঙ করা দরকার তা বোঝাতে কিছু পরিবর্তনশীল পরিবর্তন করে। যদি ভেরিয়েবলটি সত্য হয় তবে এটি মিথ্যাতে সেট করা হবে এবং তার পরে ইউআই ইন্টারফেসগুলি ডাকা হবে। আপনি যদি অ্যানিমেশনগুলি চান তবে আপনার ক্রিয়াকলাপের এই সঠিক ক্রমটি ব্যবহার করা জরুরী যাতে ইউআই নিজেই পরবর্তী ফ্রেমের জন্য একটি পুনর্নির্মাণ করতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.