MonoBehaviour ক্লাস Unity তে স্ক্রিপ্টিংয়ের জন্য একটি বেস ক্লাস। এটি গেম অবজেক্টের সাথে যুক্ত স্ক্রিপ্টগুলোর জন্য একটি বিশেষ কনটেক্সট সরবরাহ করে এবং Unity এর বিভিন্ন ফিচার এবং ফাংশনালিটির সাথে সংযোগ স্থাপন করে। MonoBehaviour ব্যবহার করে স্ক্রিপ্টগুলি গেম অবজেক্টের আচরণ এবং কার্যকলাপ নিয়ন্ত্রণ করতে পারে।
MonoBehaviour ক্লাস
- বেস ক্লাস: MonoBehaviour Unity তে একটি বেস ক্লাস, যা সমস্ত স্ক্রিপ্টের জন্য একটি কাস্টম ফাংশনালিটি প্রদান করে।
- কম্পোনেন্ট হিসেবে যুক্ত: MonoBehaviour ক্লাসের ইনস্ট্যান্সগুলি Unity-এর গেম অবজেক্টে কম্পোনেন্ট হিসেবে যুক্ত হয়, যা অবজেক্টের আচরণ নিয়ন্ত্রণ করে।
- অবজেক্ট লাইফসাইকেল: MonoBehaviour ক্লাসের সাহায্যে, Unity ডেভেলপাররা গেম অবজেক্টের লাইফসাইকেল পরিচালনা করতে পারেন।
Script Lifecycle
Unity তে MonoBehaviour স্ক্রিপ্টের কিছু গুরুত্বপূর্ণ লাইফসাইকেল মেথড রয়েছে, যা গেমের কার্যক্রমের বিভিন্ন পর্যায়ে কল করা হয়। এই মেথডগুলো গেম অবজেক্টের আচরণ এবং ইন্টারঅ্যাকশন নিয়ন্ত্রণ করে।
১. Awake()
- ডাকার সময়: স্ক্রিপ্টটি যখন প্রথম তৈরি হয় (ইনস্ট্যান্স করা হয়) তখন এটি প্রথমে কল হয়।
- ব্যবহার: প্রাথমিক সেটআপ এবং ইনিশিয়ালাইজেশন করার জন্য ব্যবহৃত হয়। যেমন, ভেরিয়েবল সেট করা, কনফিগারেশন লোড করা, ইত্যাদি।
void Awake()
{
Debug.Log("Awake called");
}
২. Start()
- ডাকার সময়: যখন গেম অবজেক্ট সক্রিয় হয় এবং প্রথম ফ্রেমের জন্য প্রস্তুত হয় তখন এটি কল হয়।
- ব্যবহার: গেমের ইনিশিয়ালাইজেশনের পরে বা অন্য স্ক্রিপ্টের
Awake()মেথডের পরে কিছু শুরু করার জন্য ব্যবহৃত হয়।
void Start()
{
Debug.Log("Start called");
}
৩. Update()
- ডাকার সময়: প্রতি ফ্রেমে কল হয় (শুধুমাত্র তখন যখন গেম অবজেক্ট সক্রিয় থাকে)।
- ব্যবহার: গেমের লজিক, ইনপুট প্রক্রিয়া এবং অন্যান্য নিয়মিত আপডেটের জন্য ব্যবহৃত হয়।
void Update()
{
Debug.Log("Update called");
}
৪. FixedUpdate()
- ডাকার সময়: নির্দিষ্ট সময়ের মধ্যে (মোডিফায়ার টাইমার) কল হয়, যা ফিজিক্স সম্পর্কিত কাজের জন্য উপযুক্ত।
- ব্যবহার: ফিজিক্স সিমুলেশনের জন্য ফিজিক্যাল মুভমেন্ট এবং অ্যাকশন পরিচালনা করার জন্য ব্যবহৃত হয়।
void FixedUpdate()
{
Debug.Log("FixedUpdate called");
}
৫. LateUpdate()
- ডাকার সময়: প্রতি ফ্রেমের শেষে কল হয়, যখন সমস্ত
Update()মেথডগুলি সম্পন্ন হয়। - ব্যবহার: ক্যামেরার পজিশন আপডেট করা বা অন্য অবজেক্টের অবস্থান অনুযায়ী কাজ করতে ব্যবহৃত হয়।
void LateUpdate()
{
Debug.Log("LateUpdate called");
}
৬. OnEnable()
- ডাকার সময়: যখন গেম অবজেক্টটি সক্রিয় হয় তখন এটি কল হয়।
- ব্যবহার: ইনিশিয়ালাইজেশন প্রক্রিয়া শুরু করার জন্য বা ইভেন্ট সাবস্ক্রাইব করার জন্য ব্যবহৃত হয়।
void OnEnable()
{
Debug.Log("OnEnable called");
}
৭. OnDisable()
- ডাকার সময়: যখন গেম অবজেক্টটি নিষ্ক্রিয় হয় তখন এটি কল হয়।
- ব্যবহার: ইভেন্ট থেকে আনসাবস্ক্রাইব করা বা সাফ করার জন্য ব্যবহৃত হয়।
void OnDisable()
{
Debug.Log("OnDisable called");
}
৮. OnDestroy()
- ডাকার সময়: যখন গেম অবজেক্টটি ধ্বংস হয় তখন এটি কল হয়।
- ব্যবহার: রিসোর্স সাফ করার জন্য বা অন্য ক্লিনআপ কাজ করার জন্য ব্যবহৃত হয়।
void OnDestroy()
{
Debug.Log("OnDestroy called");
}
উপসংহার
MonoBehaviour ক্লাস Unity তে গেম অবজেক্টের আচরণ এবং কার্যকলাপ নিয়ন্ত্রণ করার জন্য একটি মূল ভিত্তি। এর বিভিন্ন লাইফসাইকেল মেথডগুলি গেম অবজেক্টের বিভিন্ন অবস্থা এবং কার্যক্রম পরিচালনা করার জন্য ব্যবহৃত হয়। ডেভেলপাররা এই মেথডগুলো ব্যবহার করে গেমের লজিক এবং আচরণকে কার্যকরভাবে নিয়ন্ত্রণ করতে পারেন।
Read more