1
私はタイルの等角写像をRenderTexture
に描画しようとしています。問題は、RenderTexture
の負の座標に描画するものは表示されません。つまり、マップ全体が半分になります。SFMLレンダリングテクスチャ:負の座標に描画できない
問題を示す簡単な例。
sf::RenderTexture renderTexture;
renderTexture.create(64 * width, 32 * height);
sf::RectangleShape rectangleShape(sf::Vector2f(100, 100));
rectangleShape.setFillColor(sf::Color::Red);
rectangleShape.setPosition(-50, -50);
renderTexture.draw(rectangleShape);
renderTexture.display();
sf::Sprite sprite1;
sprite1.setPosition(0, 0);
sprite1.setTexture(renderTexture.getTexture());
window.draw(sprite1);
矩形の1/4だけが表示されます。私のマップ全体(そしてすべてのエンティティ)を相殺することなくこれを修正する方法はありますか?
'RenderTexture'の範囲外に描画することはできません。それをペイントキャンバスのように考える。あなたはキャンバスの外側の空気にペイントすることはできません。あなたの世界とエンティティの座標は変更する必要はありません。 'sf :: View'を使って"カメラ "を作りましょう。 – 0x5453