今度、PyData.OkinawaでLT大会があるのでネタ探ししている。
C++で簡単にゲーム作れないかな?って検索したらこんなのがあった。
github.com
面白そうなので触ってみた(ちなみにC++は全然触ったことがない)
ダウンロード
scrapbox.io
自分のPCはmacなので、mac版をインストールしようとした。
インストールして動作確認したけど、うごかなかった。Sierra以降じゃないとダメらしい(El capitan...)
OSをアップデートしてHigh Sierraにしたらうごいたのでおk
github.com
画面を表示
# include <Siv3D.hpp>
void Main()
{
while (System::Update())
{
}
}
うひょー。これだけで画面が起動した。
画面の座標
# include <Siv3D.hpp>
void Main()
{
const Font font(30);
while (System::Update())
{
Circle(Mouse::Pos(), 100).draw();
font(Mouse::Pos()).draw(50, 200, Palette::Orange);
}
}
? エラーになった。Mouse
というモジュール?がない?
よくわからんが、Cursor
に変更したら動いた。
# include <Siv3D.hpp>
void Main()
{
const Font font(30);
while (System::Update())
{
Circle(Cursor::Pos(), 100).draw();
font(Cursor::Pos()).draw(50, 200, Palette::Orange);
}
}
左上が(0,0)ということがわかった。
カラフル
# include <Siv3D.hpp>
void Main()
{
Graphics::SetBackground(Palette::White);
while (System::Update())
{
for (int32 i = 0; i < 36; ++i)
{
const double radian = Radians(i * 10 + System::FrameCount());
const Vec2 pos = Circular(200, radian) + Window::Center();
RectF(25).setCenter(pos).rotated(radian).draw(HSV(i * 10));
}
}
}
たのしい(なんでこうなるか全くわからんけど)
フォントとか画像の読み込み
# include <Siv3D.hpp>
void Main()
{
while (System::Update())
{
const Texture texture(L"Example/Windmill.png");
const Font font(100);
texture.draw();
font(L"Hello").draw();
}
}
メインループに作成するのはやめたほうがいいとのこと。だがそもそもうごかぬ。
No matching constructor for initialization of 'const s3d::Image'
なんだろうかこのエラー。
初心者が書き直してみた。
# include <Siv3D.hpp>
void Main()
{
const s3d::Image image(U"../assets/beer_cup_bin.png");
const s3d::Texture texture(image);
const Font font(100);
while (System::Update())
{
texture.draw();
font(U"Hello").draw();
}
}
(U""
ってなに?)
雑感
疲れたので寝る.