それはプレーヤーのサイズは32
あなたの問題は、あなたが数を表示したいということ、であるされている場合、それはたとえば32のため、実際の数だ、記号ではありません人間の書式(10進数)で。通常、フォントレンダリング関数は、ある種の文字エンコーディングを使用します。一般的な文字エンコーディングは、ASCIIとUTF-8(最初の127コードは基本的にASCIIと同じです)です。
フォントレンダリングに「A」と表示させたい場合は、まずビッグAをエンコードする数字の種類を知っている必要があります(CPUの場合は、0 ..(2^num_of_bits)-1、CPU ASCIIとUTF-8では、大きな「A」は65という数字で符号化されているので、4つのバイト「65,65,65,0」からなるメモリは、何らかのルーチンへの入力として入力されます。ディスプレイには、終端文字列をゼロ、「AAA」が表示されます。
今、私はあなたがおそらく...?何らかの手段で表示している、あなたの「ステータスバー」はASCIIゼロ終端文字列であると仮定します。
ですから、数32をしたいです(player size)0x20、0x20、0x33、0x32( "32")のような文字列に変換してstatusBar + 17〜メモリのstatusBar + 20バイト。
ステータスバーをレンダリングする機能を持っている場合は、おそらく数字の書式設定機能もあります。APIを検索します。
そうでない場合に行う独自の、ちょうど所望の符号化を確認し(ASCII変換が簡単で、桁XがX + 0x30からASCIIコードを有する)、及び10によって数を分割、エンコード残りは、文字列の最後にそれを置きます、左に1つ移動し、除算の結果がゼロになるまで続行し、残りの文字列をスペースで埋める。
数字を文字列(表示するため)または文字列(数字など)に変換する必要があります(キーボードなどから取得した場合)。私のprocs 'string2number'と' number2string'はあなたを助けます:http://stackoverflow.com/questions/30243848/assembly-x86-date-to-number-breaking-a-string-into-smaller-sections/30244131#30244131 。 –
@JoseManuelAbarcaRodríguezありがとう、私はそれを使用し、それは私をそんなに助けてくれました! :D – Cake