কোন মাউস ক্লিকটি টাইল প্রবেশ করেছে তা সন্ধান করে


9

আমি একটি আইসোমেট্রিক গ্রিড ভিত্তিক গেমের সাথে কাজ করছি এবং আমি ব্যবহারকারীকে একটি টাইলের সাথে মাউস ক্লিকের লিঙ্ক দেওয়ার চেষ্টা করে একটি সমস্যা করছি। আমি সমস্যাটি 2 ভাগে বিভক্ত করতে সক্ষম হয়েছি:

  • টাইলকে ঘিরে একটি আয়তক্ষেত্র সন্ধান করা (যা আমি করতে সক্ষম হয়েছি)
  • ক্লিকটি টাইল যে আয়তক্ষেত্রটি থেকে বের করে (আমার স্টাম্পড হয়ে গেছে)

ভিতরে ভিতরে টাইলস সহ একটি আয়তক্ষেত্রের উদাহরণ এখানে:

টাইলযুক্ত আয়তক্ষেত্র

আয়তক্ষেত্রটি 70px দীর্ঘ এবং 30px উঁচু তাই যদি আমি 30x (শীর্ষ) / 20y (বাম) বলার একটি ইনপুট ব্যবহার করি তবে আমি কোন টাইলটি পড়েছিলাম তা নির্ধারণের জন্য কীভাবে যাব?



সমন্বিত পরিবর্তন এবং তারপরে একটি চেক সম্পর্কে কী? যদি আপনার টাইলটি যেখানে রিংয়ের টুকরোগুলি হয়, আপনি অবশ্যই একটি মেরু সমন্বয় ব্যবস্থা ব্যবহার করবেন।
FxIII

উত্তর:


8

আপনি x অভিমুখে তৈরি প্রতিটি পদক্ষেপের জন্য আপনি 35px বাম এবং -15px আপনার ক্যানভাসে চলে যাবেন;

আপনি ওয়াই অভিমুখে তৈরি প্রতিটি পদক্ষেপের জন্য আপনি আপনার ক্যানভাসে -35px বাম এবং -15px স্থানান্তরিত করতে পারবেন;

কার্টেসিয়ান টাইল

এর অর্থ হল আপনি নিজের টাইলের সমন্বয় ব্যবস্থাটিকে পিক্সেলে সহজেই রূপান্তর করতে পারেন:

(x, y) => (35 · x, -15 · x) + (-35 · y, -15 · y) = (35 · x - 35 · y, -15 · x - 15 · y) = ( Xpx, Ypx)

আপনাকে এক্সপিএক্স এবং ওয়াইপিএক্স এবং বিপরীত সমস্যাটি সমাধান করতে হবে এবং আপনি x এবং y জানতে চান (টাইল স্থানাঙ্কে)।

এক্সপিএক্স = 35 · এক্স - 35 · y;

Ypx = -15 · x - 15 · y;

আপনি কি এটি সমাধান করতে পারেন? এটি হওয়া উচিত:

x = 1/70 · Xpx - 1/30 · Ypx x

y = -1 / 70 · Xpx - 1/30 · Ypx

স্পষ্টতই আপনার সাধারণ ক্ষেত্রে কোন পূর্ণসংখ্যার মান থাকবে: এক্স এবং y উভয়ের সিলটি নেওয়া আপনাকে পুরো টাইলের সমন্বয় দেয়।


আয়তক্ষেত্র দীর্ঘ 70px হয়, তাহলে ধাপে 35px এবং 30px আছে (অনুভূমিক মধ্যে)
CeeJay
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.