コンテンツにスキップ

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);
	}
}