Siv3Dを試してみた【C++,Visual Studio】

twitterで以下のようなものが流れていたので自分でもやってみました (サンプルコードを動かしただけなので,特に何もしてません) (随時追加予定)

インストール等

siv3d.github.io

こちらを参考にすればうまくいくと思います

実行画面

f:id:ayousanz:20200903123127p:plain

ボタンを押したときにマウスのある所にアイコンを移動させる

実際の動き

f:id:ayousanz:20200903124854g:plain

Code

// 猫のテクスチャを用意
    const Texture cat(Emoji(U"🐈"));
    const Texture temp(Emoji(U"🐶"));

    // 猫の座標
    Vec2 catPos(640, 450);
    Vec2 dogPos(353, 242);

    while (System::Update())
    {
        // テキストを画面の中心に描く
        font(U"Hello, Siv3D!🐣").drawAt(Scene::Center(), Palette::Black);

        // 大きさをアニメーションさせて猫を表示する
        cat.resized(100 + Periodic::Sine0_1(1s) * 20).drawAt(catPos);
        temp.resized(100 + Periodic::Sine0_1(1s) * 20).drawAt(dogPos);

        // マウスカーソルに追従する半透明の赤い円を描く
        Circle(Cursor::Pos(), 40).draw(ColorF(1, 0, 0, 0.5));

        // [A] キーが押されたら
        if (KeyA.down())
        {
            // Hello とデバッグ表示する
            Print << U"Hello!";
        }

        // ボタンが押されたら
        if (SimpleGUI::Button(U"Move the cat", Vec2(600, 20)))
        {
            // 猫の座標を画面内のランダムな位置に移動する
            catPos = RandomVec2(Scene::Rect());
        }
        if (KeyB.down()) {
            cout << "hello" << endl;
            
            dogPos = Cursor::Pos();
        }
    }

Sive3Dからツイートする

ツイート画面

Code

# include <Siv3D.hpp>

void Main()
{
    const String text = U"Hello, Siv3D! #Siv3D";

    while (System::Update())
    {
        if (SimpleGUI::Button(U"Tweet", Vec2(20, 20)))
        {
            // text をつぶやくツイート投稿画面を開く
            Twitter::OpenTweetWindow(text);
        }
    }
}

引用元 siv3d.github.io