ষড়ভুজ হিট পরীক্ষা করে এমন কোনও এক্সএনএ পদ্ধতি নেই।
এই নিবন্ধটি ব্যাখ্যা করে যে কীভাবে কোনও ফাংশন লিখতে হয় যা পরীক্ষা করে, এবং আপনাকে ফাংশন দেয়:
কোনও পয়েন্ট হেক্সাগনের অভ্যন্তরে রয়েছে কিনা তা কীভাবে পরীক্ষা করবেন
এখানে এই নিবন্ধ থেকে একটি সংক্ষিপ্তসার:
এবং পরীক্ষাটি করে এমন ফাংশনটি এরকম হয়:
- ষড়ভুজের চারদিকে বাউন্ডিং বক্সটি পরীক্ষা করুন, এটি ছেদ না করলে তাড়াতাড়িই।
- উপরের মতো দেখায় পয়েন্টটি স্থানীয় কোয়াড্রেন্টে রূপান্তর করুন।
isInside
স্থানীয় কোয়াড্রেন্টের জন্য নিম্নলিখিত পরীক্ষা করুন ।
public function isInside(pos:Vec2Const):Boolean
{
const q2x:Number = Math.abs(pos.x - _center.x);
const q2y:Number = Math.abs(pos.y - _center.y);
if (q2x > _hori || q2y > _vert*2)
return false;
return 2 * _vert * _hori - _vert * q2x - _hori * q2y >= 0;
}
সম্পূর্ণ বিশদ জন্য নিবন্ধটি দেখুন।
এখানে আরও কিছু দরকারী সম্পর্কিত উত্স রয়েছে: