দিক অনুপাত প্রশ্ন অনুসরণ করে , 2D UI সিস্টেমে কাজ করার সময় অন্যান্য ব্যক্তিরা কী ব্যবহার করছেন তা শুনতে আগ্রহী (সম্ভবত তাদের নিজস্ব বাড়ির সমাধান) solutions বিশেষত, আপনি কীভাবে সমন্বয় ব্যবস্থা পরিচালনা করবেন। আমার মনে তিনটি বিকল্প আছে:
- হার্ড-কোডেড কো-অর্ডিনেটস (যেমন: 0 -> 720, 0 -> 576)
- সাধারণ কো-অর্ডিনেটস (0.0 -> 1.0, 0.0 -> 1.0), রেন্ডারিংয়ের আগে বাস্তব স্থানাঙ্কে ম্যাপ করা
- ভার্চুয়াল কো-অর্ডিনেটস (যেমন: 0 -> 1600, 0 -> 1000), রেন্ডারিংয়ের আগে বাস্তব স্থানাঙ্কে ম্যাপযুক্ত
হার্ড-কোডিং কেবলমাত্র তখনই কার্যকর যদি আপনি স্থির প্ল্যাটফর্মে থাকেন এবং আপনার স্ক্রিন স্পেসের স্থানাঙ্কগুলি আগে থেকে কী তা জেনে থাকেন বা আপনি যদি স্ক্রিনের মাত্রার প্রতিটি সেটের জন্য স্ক্রিন লেআউট লেখার জন্য প্রস্তুত হন।
সাধারণ কো-অর্ডিনেটগুলি দুর্দান্ত, তবে অস্পষ্টতায় ভোগেন যখন পর্দার দিক অনুপাত স্থির হয় না (উদাহরণস্বরূপ, ০. maps৫ মানচিত্র যখন প্রশস্ত স্ক্রিনে চালিত হয় তখন এটি 4: 3-এর চেয়ে বেশি হয়)) এছাড়াও, লেখকদের জন্য, কোনও ইউআই উপাদান (0.2 x 0.2) হিসাবে ঘোষণা করা সত্যই বিপরীত, কেবল এটি রেন্ডার করার সময় এটি আসলে বর্গক্ষেত্র নয় বলে সন্ধান করতে পারে।
ভার্চুয়াল কো-অর্ডিনেটগুলি দ্ব্যর্থহীন, তবে রিম্যাপিং পর্যায়ে সাধারণ কো-অর্ডিনেটের মতো একই সমস্যায় ভুগছে: একটি ক্ষুদ্র দশমিক তফাৎ হতে পারে একের পর এক ত্রুটি যার অর্থ ইউআই উপাদানগুলি এখন টালি করা উচিত তাদের মধ্যে একটি সিঁড়ি থাকতে পারে।
একইভাবে, যখন আপনার কোনও স্থির রেজোলিউশন স্ক্রিন থাকে, তখন সাধারণ এবং ভার্চুয়াল উভয় স্থানাঙ্কের অর্থ হ'ল আপনার শিল্পীর ইউআই চিত্রের সূক্ষ্মভাবে তৈরি পিক্সেল এবং পিক্সেলের মধ্যে পিক্সেলগুলির মধ্যে 1: 1 ম্যাপিংয়ের গ্যারান্টি দেওয়া খুব কঠিন, যার অর্থ আপনার ঝুঁকি রয়েছে বাজে স্কেলিং আর্টফ্যাক্টস (ধরে নিচ্ছেন আপনি স্ক্রিনে টেক্সচারযুক্ত কোয়াড হিসাবে রেন্ডার করছেন)।
বিশেষত দিক অনুপাত সম্পর্কে অস্পষ্টতা এড়াতে আমরা ভার্চুয়াল সমন্বয় পদ্ধতির সাথে চলেছি। সুতরাং কোনও 16:10 স্ক্রিনে রেন্ডার করার সময়, ইউআই স্পেসটি (0,0) -> (1600,1000) হয় তবে 4: 3 তে রেন্ডার করার সময়, ব্যবহারযোগ্য ইউআই স্পেসটি আসলে (133,0) -> (1467) হয় , 0)।
এর চেয়ে আরও ভাল সমাধান কি আছে যা সম্পর্কে আমি অবগত নই? এই 3 টি পদ্ধতির যে সমস্যা রয়েছে তা হ্রাস করার জন্য কি কোনও ভাল কৌশল আছে?