SceneManagerとScalableWindow併用時に文字にムラ?が出来る
な。 2016/10/13(Thu) 22:39
シーンAにてスペースキーでウィンドウサイズを800*600にしてから、シーンBに遷移すると添付画像のように文字にムラ?が生じてしまいます。
対策方法はありますでしょうか?
バージョンは「August 2016 v2」です。
#include <Siv3D.hpp>
#include <HamFramework.hpp>
struct SceneData{
size_t index = 0;
Array<Size> arr = {{640,480},{640,400},{720,540},{800,600},{960,720}};
};
using MyApp = SceneManager<String,SceneData>;
class SceneA : public MyApp::Scene{
public:
void init() override{
m_font = Font(24);
}
void update() override{
if(Input::KeySpace.clicked){
m_data->index = (m_data->index + 1) % m_data->arr.size();
Window::Resize(m_data->arr[m_data->index]);
}
if(Input::MouseL.clicked){
changeScene(L"SceneB");
}
}
void draw() const override{
m_font(L"<シーンA>\nハローSiv3D\n",Window::Size()).draw({10,10},Palette::White);
}
private:
Font m_font;
};
class SceneB : public MyApp::Scene{
public:
void init() override{
m_font = Font(24);
}
void update() override{
if(Input::KeySpace.clicked){
m_data->index = (m_data->index + 1) % m_data->arr.size();
Window::Resize(m_data->arr[m_data->index]);
}
if(Input::MouseL.clicked){
changeScene(L"SceneA");
}
}
void draw() const override{
m_font(L"<シーンB>\nTest\n",Window::Size()).draw({10,10},Palette::White);
}
private:
Font m_font;
};
void Main(){
ScalableWindow::Setup(640,480);
MyApp manager;
manager.add<SceneA>(L"SceneA");
manager.add<SceneB>(L"SceneB");
while(System::Update()){
{
const auto transformer = ScalableWindow::CreateTransformer();
manager.updateAndDraw();
}
ScalableWindow::DrawBlackBars(HSV(40,0.2,0.9));
}
}
な。 2016/10/13(Thu) 23:42
Reputeless 2016/10/14(Fri) 20:14