DXライブラリ 総合スレッド その5at GAMEDEVDXライブラリ 総合スレッド その5 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト588:名前は開発中のものです。 10/01/12 19:52:43 vZoY7Utz >>586 >オブジェクトのy座標が-0.2のときそれを描画ルーチンにわたすと >0の位置に描かれそうな気がするんですけど >(つまり-0.9~0.9が同じ位置に表示されそう) >DXLibにそのままわたすとどうなりますか? C言語では小数から整数への変換は小数切捨てになる。 「型キャスト」で調べてみて。 >でfloorになる?これは一般的にどう書かれる? ならない。もっと言えばコンパイルすら通らない。 「y_for_draw = (y-99) / 100;」は小数点以下を切り上げしていないので。 一般的かどうかは分からないけど、固定小数点数を浮動小数点数にしてmath.hのfloor関数を使った方が簡単だと思う。 589:名前は開発中のものです。 10/01/12 19:57:29 fpWsGGI2 >>587 質問は2つです 1つめはDXLibでたとえば描画ルーチンのXY座標に(-0.3, -0.9)をわたしたときと(0.1, 0.9)をわたした時が同じ場所になってしまうのでは? 2つめは たとえば、キャラクターの座標の内部的な整数の変数(たとえばint x_naibu, y_naibu;(前質問ではint y100;))が 100移動すると「1ドット」動いたことになるとすると、 描画ルーチンには基本 (x_naibu / 100) を x座標としてわたすことになりますが、 もし x_naibu が -99 でも 99 でも (x_naibu / 100)はゼロになってしまいます。 これを解決する一般的なやりかたが知りたいという話です。 書き込みに間違いが y_for_draw = (y-99) / 100; は y_for_draw = (y100-99) / 100; 下は y_for_draw = y100 / 100; 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch