-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMain.cpp
78 lines (63 loc) · 2.64 KB
/
Main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# include <Siv3D.hpp> // OpenSiv3D v0.6.5
void Main()
{
// 背景の色を設定 | Set background color
Scene::SetBackground(ColorF{ 0.8, 0.9, 1.0 });
// 通常のフォントを作成 | Create a new font
const Font font{ 60 };
// 絵文字用フォントを作成 | Create a new emoji font
const Font emojiFont{ 60, Typeface::ColorEmoji };
// `font` が絵文字用フォントも使えるようにする | Set emojiFont as a fallback
font.addFallback(emojiFont);
// 画像ファイルからテクスチャを作成 | Create a texture from an image file
const Texture texture{ U"example/windmill.png" };
// 絵文字からテクスチャを作成 | Create a texture from an emoji
const Texture emoji{ U"🐈"_emoji };
// 絵文字を描画する座標 | Coordinates of the emoji
Vec2 emojiPos{ 300, 150 };
// テキストを画面にデバッグ出力 | Print a text
Print << U"Push [A] key";
while (System::Update())
{
// テクスチャを描く | Draw a texture
texture.draw(200, 200);
// テキストを画面の中心に描く | Put a text in the middle of the screen
font(U"Hello, Siv3D!🚀").drawAt(Scene::Center(), Palette::Black);
// サイズをアニメーションさせて絵文字を描く | Draw a texture with animated size
emoji.resized(100 + Periodic::Sine0_1(1s) * 20).drawAt(emojiPos);
// マウスカーソルに追随する半透明な円を描く | Draw a red transparent circle that follows the mouse cursor
Circle{ Cursor::Pos(), 40 }.draw(ColorF{ 1, 0, 0, 0.5 });
// もし [A] キーが押されたら | When [A] key is down
if (KeyA.down())
{
// 選択肢からランダムに選ばれたメッセージをデバッグ表示 | Print a randomly selected text
Print << Sample({ U"Hello!", U"こんにちは", U"你好", U"안녕하세요?" });
}
// もし [Button] が押されたら | When [Button] is pushed
if (SimpleGUI::Button(U"Button", Vec2{ 640, 40 }))
{
// 画面内のランダムな場所に座標を移動
// Move the coordinates to a random position in the screen
emojiPos = RandomVec2(Scene::Rect());
}
}
}
//
// チュートリアル
// https://siv3d.github.io/ja-jp/tutorial/tutorial/
//
// Tutorial
// https://siv3d.github.io/tutorial/tutorial/
//
// Siv3D コミュニティへの参加(Discord などで気軽に質問や交流, 最新情報の入手ができます)
// https://siv3d.github.io/ja-jp/community/community/
//
// Siv3D User Community
// https://siv3d.github.io/community/community/
//
// 新機能の提案やバグの報告 | Feedback
// https://siv3d.github.io/ja-jp/develop/report/
//
// Sponsoring Siv3D
// https://github.com/sponsors/Reputeless
//