- স্ক্রিনের মতো একই আকারের বাফার তৈরি করুন (বা আপনার আকারগুলি কোথায় রয়েছে)। প্রতিটি পজিশনে এটি বুলিয়ান রয়েছে যেখানে স্প্রাইট রয়েছে কিনা; তারপরে, ব্যবহারকারী আকারের সমস্ত "পিক্সেল" চেক করুন তাদের অবস্থানটিতে স্প্রাইট কিনা (সেই বুলিয়ানটির মান পরীক্ষা করে)। বিকল্পভাবে, আপনি বুলেটিনের পরিবর্তে তাদের আইডি সঞ্চয় করে সেখানে আরও স্প্রিট তৈরি করতে পারেন; তবে এটি ছিল 1 স্প্রাইটের ক্ষেত্রে।
- যদি ব্যবহারকারী উত্পন্ন আকৃতিটি রেখার অনুক্রমের দ্বারা প্রতিনিধিত্ব করা যায় তবে আপনি এই জাতীয় প্রতিটি লাইন স্প্রিটকে অতিক্রম করে কিনা তা পরীক্ষা করতে পারেন। যেহেতু স্প্রাইটের আয়তক্ষেত্রাকার আকৃতি রয়েছে এবং ব্যবহারকারীর আকৃতি একটি লাইন কেবল "রেখার আয়তক্ষেত্র ছেদ" জন্য অনুসন্ধান করুন ...
আপনি কী ডেটা স্ট্রাকচার চয়ন করেন তার উপর দৃষ্টিভঙ্গি নির্ভর করে, সেগুলি বিটম্যাপ বা ভেক্টর কিনা।
প্রথম পদ্ধতিটি নির্বিচারে জটিল আকারগুলি পরিচালনা করতে পারে, কার্যকর করা সহজ তবে আরও মেমরি ব্যবহার করে। প্রকৃতপক্ষে আপনি কম্প্রেশন ব্যবহার করে মেমরি ওভারহেড হ্রাস করতে পারেন এবং ক্রমবর্ধমান ডেটা স্ট্র্যাচার (অক্ট্রি) ব্যবহার করে এটির গতি বাড়িয়ে দিতে পারেন ...
দ্বিতীয় পদ্ধতির প্রয়োগ করা এত সহজ নয় তবে আরও বেশি প্রক্রিয়াকরণ শক্তি ব্যবহার করে।
এটি প্রতিটি ক্ষেত্রে পরিমাপ করুন। আমি প্রথমটি করার চেষ্টা করব কারণ এটি কার্যকর করা সহজ। শুভকামনা। :)