pygameで負の座標を使用する最良の方法は何ですか?
現時点では、元のサーフェスの 1.5 倍のサーフェスがあり、描画する必要があるものはすべて (負の座標が正になるように) 一定量だけシフトして描画されます。
これを行うためのより簡単な/代替方法はありますか?
pygameで負の座標を使用する最良の方法は何ですか?
現時点では、元のサーフェスの 1.5 倍のサーフェスがあり、描画する必要があるものはすべて (負の座標が正になるように) 一定量だけシフトして描画されます。
これを行うためのより簡単な/代替方法はありますか?
簡単な解決策は、世界座標からpygame画面座標への線形マッピング関数を作成することです。
def coord(x,y):
"Convert world coordinates to pixel coordinates."
return 320+170*x, 400-170*y
すべてのワールドオブジェクトを描画するときに使用します。完全な例については、こちらをご覧ください。
ワールド座標とスクリーン座標がある RPG マップの状況に似ている場合: ワールドをローカルに、またはその逆に変換する関数を使用します。
しかし、あなたが Rect のプロパティを探しているかどうかわかりませんでしたか?
rect.bottomright = (width, height) # bottom right at window corner
中心座標を使用してブリットする場合、左上が (0,0) の場合
ship.rect.center = (20, 30) # don't need to translate by adding w/2 to topleft
参照: Rect.move_ip()
サーフェスの原点を 0,0 から移動する方法はありません。
渡されたすべての座標をサーフェスの空間に変換する独自の描画クラスを実装します。