アプリの状態 - Siv3D/Reference-JP GitHub Wiki
System::FrameCount()
は System::Update()
が呼ばれた回数を返します。
# include <Siv3D.hpp>
void Main()
{
const Font font(30);
while (System::Update())
{
font(System::FrameCount(), L"フレーム目").draw();
}
}
# include <Siv3D.hpp>
void Main()
{
while (System::Update())
{
if (Input::KeyH.clicked)
{
Cursor::SetStyle(CursorStyle::None);
}
if (Input::KeyS.clicked)
{
Cursor::SetStyle(CursorStyle::Default);
}
Circle(Mouse::Pos(), 20).draw();
}
}
System::Exit()
を呼ぶと、次の System::Update()
が false を返し、メインループが終了します。
System::Exit()
はエンジンに終了を通知するだけの関数であり、使用は必須ではありません。
# include <Siv3D.hpp>
void Main()
{
while (System::Update())
{
if (Input::MouseL.clicked)
{
// 次の System::Update() が false を返す
System::Exit();
}
}
}
アプリケーションを終了する条件を設定できます。
# include <Siv3D.hpp>
void Main()
{
// エスケープキーか右クリックか System::Exit() で終了
System::SetExitEvent(WindowEvent::EscapeKey | WindowEvent::RightClick);
while (System::Update())
{
if (Input::KeySpace.clicked)
{
System::Exit();
}
}
}
# include <Siv3D.hpp>
void Main()
{
const Font font(30);
while (System::Update())
{
font(Profiler::FPS(), L"fps").draw();
}
}
処理を中断する時間を指定します。
# include <Siv3D.hpp>
void Main()
{
const Font font(30);
// 2.34 秒スリープ
System::Sleep(2.34s);
while (System::Update())
{
Circle(Mouse::Pos(), 100).draw();
}
}