যে কোনও সংঘর্ষে, দুটি গেম অবজেক্টস এখনই জড়িত? আমি যা জানতে চাই তা হল, আমি কীভাবে সিদ্ধান্ত নেব যে কোন বস্তুতে আমার থাকা উচিত OnCollision*
?
উদাহরণ হিসাবে ধরা যাক, আমার কাছে প্লেয়ার অবজেক্ট এবং স্পাইক অবজেক্ট রয়েছে। আমার প্রথম চিন্তাটি প্লেয়ারটিতে এমন স্ক্রিপ্ট স্থাপন করা যা এতে কিছু কোড রাখে:
OnCollisionEnter(Collision coll) {
if (coll.gameObject.compareTag("Spike")) {
Destroy(gameObject);
}
}
অবশ্যই স্পাইক অবজেক্টে স্ক্রিপ্ট থাকার পরিবর্তে ঠিক একই কার্যকারিতা অর্জন করা যেতে পারে যার মধ্যে এই জাতীয় কোড রয়েছে:
OnCollisionEnter(Collision coll) {
if (coll.gameObject.compareTag("Player")) {
Destroy(coll.gameObject);
}
}
উভয়ই বৈধ হলেও, প্লেয়ারটিতে আমার কাছে স্ক্রিপ্টটি থাকা আমার কাছে আরও বেশি বোঝা যায় কারণ এই ক্ষেত্রে যখন সংঘর্ষ হয় তখন প্লেয়ারটিতে একটি ক্রিয়া সম্পাদন করা হয় ।
যাইহোক, যা আমাকে সন্দেহ করে তোলে তা হ'ল ভবিষ্যতে আপনি প্লেয়ারকে সংঘর্ষের সময় মেরে ফেলবেন এমন আরও কিছু বস্তু যুক্ত করতে চাইতে পারেন, যেমন একটি শত্রু, লাভা, লেজার বিম ইত্যাদি These সুতরাং প্লেয়ারের স্ক্রিপ্টটি হয়ে উঠবে:
OnCollisionEnter(Collision coll) {
GameObject other = coll.gameObject;
if (other.compareTag("Spike") || other.compareTag("Lava") || other.compareTag("Enemy")) {
Destroy(gameObject);
}
}
স্ক্রিপ্টটি স্পাইকে ছিল এমন ক্ষেত্রে, আপনাকে যা করতে হবে তা হ'ল অন্যান্য স্ক্রিনে একই স্ক্রিপ্টটি যুক্ত করা যা প্লেয়ারকে মেরে ফেলতে পারে এবং স্ক্রিপ্টটির নামকরণের মতো কিছু করতে পারে KillPlayerOnContact
।
এছাড়াও, যদি আপনার প্লেয়ার এবং শত্রুদের মধ্যে সংঘর্ষ হয় তবে আপনি সম্ভবত উভয়কেই একটি ক্রিয়া করতে চান । সুতরাং যে ক্ষেত্রে, কোন বস্তুর সংঘর্ষ পরিচালনা করা উচিত? অথবা উভয়কেই সংঘর্ষ পরিচালনা করতে হবে এবং বিভিন্ন ক্রিয়া করা উচিত?
আমি এর আগে কখনও কোনও যুক্তিসঙ্গত আকারের গেমটি তৈরি করিনি এবং আমি ভাবছি যে কোডটি যদি অদৃশ্য হয়ে যায় এবং এটি শুরুতে আপনি যদি এই ধরণের জিনিস ভুল পেয়ে যান তবে এটি বজায় রাখা শক্ত হয়ে যেতে পারে কিনা wond বা সম্ভবত সমস্ত উপায় বৈধ এবং এটি আসলেই কিছু যায় আসে না?
কোন অন্তর্দৃষ্টি অনেক প্রশংসা করা হয়! সময় দেয়ার জন্য ধন্যবাদ :)
Tag.SPIKE
পরিবর্তে হবে?