5. 絵文字を描く
5.1 絵文字を指定した場所に表示する
Texture 変数名{ U"絵文字"_emoji };
で任意の絵文字のテクスチャを作成できます
- テクスチャの作成はコストがかかるため、メインループの前で作成します
- 作成したテクスチャを指定した場所に表示するには
.drawAt(x, y)
を使います
- 絵文字の種類は emojipedia で探すと便利です
- Windows の場合は、Win+. で出てくる絵文字入力メニューも使えます
# include <Siv3D.hpp>
void Main()
{
Scene::SetBackground(ColorF{ 0.8, 0.9, 1.0 });
Texture emoji1{ U"🐈"_emoji };
Texture emoji2{ U"🍔"_emoji };
while (System::Update())
{
emoji1.drawAt(100, 100);
emoji2.drawAt(200, 300);
emoji1.drawAt(400, 300);
}
}
5.2 絵文字の大きさを変えて表示する
.drawAt(x, y)
の前に .scaled(s)
を挟むと、テクスチャが s
倍拡大縮小されます
# include <Siv3D.hpp>
void Main()
{
Scene::SetBackground(ColorF{ 0.8, 0.9, 1.0 });
Texture emoji1{ U"🐈"_emoji };
Texture emoji2{ U"🍔"_emoji };
while (System::Update())
{
emoji1.scaled(0.6).drawAt(100, 100);
emoji2.scaled(0.3).drawAt(200, 300);
emoji1.drawAt(400, 300);
}
}
5.3 絵文字を回転させて表示する
.drawAt(x, y)
の前に .rotated(angle)
を挟むと、テクスチャが時計回りに angle
度回転します
- 角度は
45_deg
, 90_deg
のように _deg
を付けて表記します
# include <Siv3D.hpp>
void Main()
{
Scene::SetBackground(ColorF{ 0.8, 0.9, 1.0 });
Texture emoji1{ U"🐈"_emoji };
Texture emoji2{ U"🍔"_emoji };
while (System::Update())
{
emoji1.rotated(10_deg).drawAt(100, 100);
emoji2.rotated(180_deg).drawAt(200, 300);
emoji1.rotated(45_deg).drawAt(400, 300);
}
}