2

定義された長方形内にスクロール可能なコンテンツを描画するのに問題があります。私が達成したいのは、長方形内のコンテンツを自由にスクロールし、その中にない、または部分的にトリミングされているものをすべてスクロールできることです。現在、長方形の外側に何も描画されていないことを確認するために、使用可能なアイテムの数だけスクロールします。

SFML で利用できるものを見ると、sf::View を使用してこれを達成できるはずですが、私の試みはうまくいきません。

sf::View panelView;

panelView.reset(sf::FloatRect(220,85,815,575));
panelView.setViewport(sf::FloatRect(0, 0, 1.0f, 1.0f));

次に、視点をこれに設定し、アイテムを描画してから、デフォルト ビューに戻します。Reset メソッドで設定した目的の四角形ではなく、常に画面全体に描画しているように見えますか?

私の理解では、これにより、x 軸で 220、y 軸で 85、幅 815、高さ 575 のビューポートが作成されるはずですが、この境界の外に描画されています。

何か案は?

4

1 に答える 1

5

もう少し詳しく調べて問題を整理しました-位置を0.0fと1.0fの間の係数として設定する必要があるようです。以下のサンプルコードの位置は、ビューポートを配置する場所です:

sf::FloatRect panelRect(position.left / SCREENWIDTH,
(position.top) / SCREENHEIGHT,
(position.width) / SCREENWIDTH,
(position.height) / SCREENHEIGHT);

panelView.reset(sf::FloatRect(position.left,position.top,position.width,position.height));
panelView.setViewport(panelRect);
于 2013-04-18T23:00:15.820 に答える