আপনার আউটপুট করতে হবে এমন লাইন এবং কলামগুলির সংখ্যা জানতে আপনার উইন্ডোটির প্রস্থ এবং উচ্চতা যাচাই করা উচিত এবং সেই অনুযায়ী পরিবর্তন করা উচিত। অনারাইজ ইভেন্টগুলি শুনতে এবং সেই অনুযায়ী প্রস্থ এবং উচ্চতা সংশোধন করতে ভুলবেন না।
আপনি যখন এটি পাঠ্যপুস্তকটি করতে চান , আপনি কোনও মনসপাসেড ফন্ট এবং একটি টেবিলের সাহায্যে পাঠ্যটি ব্যবহার করতে পারেন যেখানে প্রতিটি ঘরে একটি করে অক্ষর থাকে।
স্বতন্ত্র অক্ষরগুলিকে সম্বোধন করতে আপনি <table>
সারি এবং কলামগুলির সঠিক সংখ্যার সাহায্যে একটি তৈরি করতে পারেন , যেখানে প্রত্যেকের <td>
আইডি রয়েছে যার এক্স এবং y- স্থানাঙ্ক রয়েছে। এইভাবে আপনি স্বতন্ত্র কক্ষগুলিকে আইডির মাধ্যমে সম্বোধন করতে পারেন এবং চিঠিটি পরিবর্তন করতে এবং তাদের রঙ পরিবর্তন করতে তাদের CSS শ্রেণি পরিবর্তন করতে তাদের অভ্যন্তরীণ এইচটিএমএল পরিবর্তন করতে পারেন।
একটি ক্যানভাস ব্যবহার করা তত দ্রুত হতে পারে কারণ আপনার প্রতিস্থাপন করতে হবে এমন প্রতিটি চরিত্রের জন্য আপনাকে একটি বড় ডিওএম ট্রি ম্যানিপুলেট করতে হবে না। বামন দুর্গ উপায় দ্বারা, একই জিনিস করছেন। যে চরিত্রগুলি অবজেক্টগুলির প্রতিনিধিত্ব করতে ব্যবহৃত হয় তা আসলে বিটম্যাপ হয় না সত্য টেক্সট আউটপুট এবং সেগুলি 2 ডি গ্রাফিক API ব্যবহার করে আঁকা হয়। এইচটিএমএল 5 ক্যানভাস এর জন্য সজ্জিত। এটা আছে context.fillText পদ্ধতি যা আপনি ক্যানভাস টেক্সট অঙ্কনের অনুমতি দেয়। এটি পৃথক অক্ষর আঁকতে ব্যবহার করা যেতে পারে। আপনি ভেরিয়েবল কনটেক্সট.ফন্ট এবং প্রতিটি চিঠির রঙ কনটেক্সট.ফিলস্টাইলকে কল করে মাপ এবং ফন্টের মুখ পরিবর্তন করতে পারেন ।
নোট করুন যে প্রতি ফ্রেমে ফিলটেক্সট শত শত বার কল করা ধীর হতে পারে, কারণ রাস্টারাইজিং ফন্টগুলি ব্যয়বহুল এবং কোনও ব্রাউজার যা আমি জানি না ক্যাচিংয়ের ব্যবহার। এর অর্থ হ'ল আপনি যখন একই সেটিংসের সাথে একই অক্ষরটি কয়েকশবার রেন্ডার করবেন, তখন এটি একশ বার পুনরায় রাস্টেরাইজ করা হবে। কর্মক্ষমতা আপনি একটি লুকানো ক্যানভাসে প্রতিটি রঙ সঙ্গে প্রতিটি চিঠির rasterized চেহারা ক্যাশে পারে বাড়াতে ও তাহলে এই গোপন ব্যবহার canvases আঁকা context.drawImage । একটি ক্যানভাস থেকে অন্য কপি করা অনুলিপি সাধারণত ফন্ট রাস্টারাইজেশনের চেয়ে অনেক দ্রুত।
আমি বর্তমানে ক্যানভাস ব্যবহার করে একটি 2 ডি গেমটি বিকাশ করছি এবং লক্ষ্য করেছি যে বৃহত্তম এফপিএস ইটার হ'ল ফন্ট অঙ্কন। আমি যখন রাস্টারযুক্ত পাঠ্যের জন্য একটি ক্যাশে যুক্ত করেছি, তখন এটির পারফরম্যান্সটি অনেক উন্নত হয়েছে।