ゲーム作りは楽しい

なんか書く

どっかでみたようなローディングのサークル

# include <Siv3D.hpp>

void Main()
{
    Window::Resize({ 300, 300 });

    const Vec2 center = Scene::CenterF();

    while (System::Update())
    {
        constexpr Duration periodSec = 2s;
        const double rotateRate = s3d::Periodic::Sawtooth0_1(periodSec * 0.75);
        const double offsetAngle = rotateRate * Math::TwoPi;

        const double rate = s3d::Periodic::Sawtooth0_1(periodSec);
        double startAngle = offsetAngle;
        if (rate <= 0.5) {
            startAngle += Math::Lerp(0, Math::TwoPi, rate * 2);
        } else {
            startAngle += Math::TwoPi;
        }
        double endAngle = offsetAngle;
        if (rate <= 0.5) {
            endAngle += Math::Lerp(0, Math::HalfPi, rate * 2);
        } else {
            endAngle += Math::Lerp(Math::HalfPi, Math::TwoPi, (rate - 0.5) * 2);
        }
        const double angle = -(startAngle - endAngle);

        Circle(center, 100).drawArc(startAngle, angle, 0, 30);
    }
}