8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Siv3DAdvent Calendar 2023

Day 23

Siv3D でよく使う便利機能たち

Posted at

Siv3D にはゲーム開発に役立つ機能がたくさんありますが、中でも実際に私がゲームを作るときよく使っている便利な機能を、使用例とともにピックアップしてみました。

Periodic

画像やテキストを点滅させたり、揺らしたりなどの動きを加えるときに便利です。

点滅させるときは .draw(ColorF(色, Periodic::Square0_1(100ms))); とか。

例:テキストの点滅(ゲームスタート)

例:カーソルの点滅

Stopwatch, Timer

一定時間後になにかしたいとき。例えば、タイトル画面でマウスをクリックしてから T 秒後に次のシーンに移るとか、ダメージを受けたら一定時間点滅するなど、時間に関係するちょっとした処理に多用しました。

progress0_1() で 0.0~1.0 の範囲の値が得られるので、そのままイージング関数に渡したりできるのも便利です。

イージング関数

動きが直線的で単調にならないように、ということで上記の Periodic や Stopwatch と一緒によく使いました。

例:スライドしてくるテキスト

イージングを使わないと:

Effect

爆発やキラキラなど、発生してはすぐに消えるような装飾に。

例:煙

例:敵を倒した時の黒くはじけるエフェクト

アセット (TextureAsset, FontAsset, ...)

Texture や Font、Audio などを、一度登録しておけばどこからでもアクセスできて便利。

あたり判定

あらゆる図形に対して 図形A.intersects(図形B) で判定できるのがとても楽。

敵とかが画面内にいるかの判定 Scene::Rect().intersects(敵) をよく使います。

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?