আমি একটি ছোট 2 ডি গেম ইঞ্জিন বিকাশ করছি। অক্ষরগুলির একটি পেইন্ট পদ্ধতি রয়েছে যা বর্তমানে নিম্নলিখিতটি করে:
- চরিত্রের গতি ইত্যাদি অনুযায়ী তার নতুন অবস্থান গণনা করুন etc.
- সংঘর্ষ গ্রিড সেল আপডেট করুন **
- চরিত্রটি নতুন অবস্থানে আঁকুন
** চৌরাস্তা পরীক্ষার সংখ্যা হ্রাস করার জন্য আমি একটি সংঘর্ষের গ্রিড তৈরি করেছি
সংঘর্ষ সনাক্তকরণের জন্য এখন আমি যে প্রাথমিক অ্যালগরিদমটি ভেবেছিলাম তা হ'ল:
For Each Character
Check intersection with characters in surrounding 8 cells
আমি কেবল পেইন্ট পদ্ধতিতে এই কোডটি রাখতে পারি। তবে সমস্যাটি আমি এখানে প্রত্যাশা করি।
ধরুন, দুটি এবং A অক্ষর সংঘর্ষের গ্রিডের সংলগ্ন কোষে রয়েছে। চরিত্র এ এর পুনরাবৃত্তির উপরোক্ত অ্যালগরিদম অনুসারে এটি সনাক্ত করবে যে এটি বি এর সাথে সংঘর্ষে রয়েছে এবং বি চরিত্রের পুনরাবৃত্তিতে এটি সনাক্ত করবে যে এটি এ এর সাথে সংঘর্ষিত হয়েছে।
তবে আমার একটি ধারণা আছে যে যখন একটি সনাক্ত করে যে এটি বিয়ের সাথে সংঘর্ষে পড়েছে, তখন এটি বি কে জানিয়ে দেওয়া উচিত যে এটি এ এর সাথে সংঘর্ষে পড়েছে এটি যখন 2 টিরও বেশি অভিনেতার সংঘর্ষে থাকে তখন এর তুলনা অনেকটাই বাঁচাতে পারে। তবে আমি কীভাবে এটি পরিচালনা করব তা নিশ্চিত নই। আমি মনে করি প্রতিটি চরিত্রের সংঘর্ষের জন্য এটি পরীক্ষা করার পরিবর্তে আমার গেম লুপের ভিতরে সংঘর্ষের জন্য পরীক্ষা করা উচিত।
এই পদ্ধতির সঠিক হবে? আপনি এই জাতীয় সমস্যাটি কীভাবে পরিচালনা করেছেন? আমি নিজেই সংঘর্ষের গ্রিড জিনিসটি ভেবেছিলাম। সংঘর্ষ গ্রিড যুক্তির কোন বিকল্প আছে?