-
Notifications
You must be signed in to change notification settings - Fork 1
アセット管理
Siv3D は Texture
や Sound
, Font
, GUI
などのアセットのハンドルに名前をつけ、名前を通してプログラムのどこからでもアクセスできる「アセット管理」の機能を提供しています。
プログラムでアセット管理を扱う手順は以下の通りです。
- アセットの「登録 (Register)」
- アセットの「プリロード (Preload)」(省略可能)
- アセットの「使用」
- アセットの「リリース (Release)」(省略可能)
- アセットの「登録解除 (Unregister)」(省略可能)
アセットをエンジンに登録します。
アセットの種類(テクスチャであるか、サウンドであるかなど)を関数で指定し、アセットに一意の名前をつけ、ファイル名やプロパティなどの情報を登録します。
この時点ではアセットデータは構築されないので、メモリの消費量が増えることはありません。
アセットデータを実際にロードします。
アセットの名前を指定すると、エンジンが該当アセットの登録時に与えられたファイル名やプロパティに従ってメモリにアセットデータを構築します。
指定されたアセットがすでにロードされている場合は何もしません。
アセットの名前を指定して、Texture 型や Sound 型のアセットハンドルを取得します。
このハンドルを使って、従来のアセットハンドルのように draw() したり、play() したりすることができます。
指定されたアセットが登録されていなかった場合は Null オブジェクトを返し、プリロードされていなかった場合はロードを実行してから結果のハンドルを返します。
アセットデータをメモリ上から解放します。
リリース後もアセットの登録情報は残っているため、再度プリロードしたり、使用したりすることができます。
一度ロードしたアセットをこの先しばらく使わず、メモリ消費を抑えたい場合にアセットのリリースをしましょう。
アセットの登録情報と名前をアセット管理から削除します。
該当アセットがリリースされていなかった場合はリリースします。
アプリケーション終了時にはすべてのアセットが自動でリリース、登録解除されるため、アセットの登録解除を明示的に行う必要はありません。
# include <Siv3D.hpp>
void Draw()
{
TextureAsset(L"picture").draw();
}
void Main()
{
TextureAsset::Register(L"picture", L"Example/Windmill.png");
while (System::Update())
{
Draw();
}
}
# include <Siv3D.hpp>
void Play()
{
SoundAsset(L"music").play();
}
void Main()
{
SoundAsset::Register(L"music", L"Example/風の丘.mp3");
Play();
while (System::Update())
{
}
}
# include <Siv3D.hpp>
void Draw()
{
FontAsset(L"font")(L"Hello, Siv3D!").draw();
}
void Main()
{
FontAsset::Register(L"font", 35, Typeface::Black);
while (System::Update())
{
Draw();
}
}
- Siv3D の基本
- 図形を描く
- テクスチャを描く
- テキストを描く
- 文字列と数値の変換
- キーボード入力
- マウス入力
- サウンドの再生
- MIDI の再生
- ウィンドウと背景
- 図形のあたり判定
- 乱数
- ダイアログ
- ドラッグ & ドロップ
- アプリの状態
- テキストファイル
- INI, CSV, JSON
- バイナリファイル
- GUI
- アセット管理
- 画像編集
- Web カメラ
- マイク入力
- 経過時間の測定
- HSV カラー
- ファイルダウンロード
- 3D 描画
- 2D のレンダーステート
- 3D のレンダーステート
- パーティクル
- スクリーンショット
- アプリケーションの公開
- さらに学ぶには
- アプリランチャーを作ろう
- 音楽プレイヤーを作ろう
- 横スクロールゲームを作ろう
- ドット絵エディタを作ろう
- シーン遷移をサポートする SceneManager の使い方
- Siv3D ミニサンプル集
- タスクシステムを使う
- スケッチ
- 画像ビューアー
- オーディオスペクトラム
- マイク入力スペクトラム
- 文字色の反転
- 天気予報
- ドットお絵かき
- 15パズル
- ブロックくずし
- 時計
- 音楽プレイヤー
- ピアノ
- ライフゲーム
- シーン管理
- 地球
- 3Dシーン
- 3D交差判定
- Wooden Mirror
- シューティングゲーム
- Image to Polygon
- Sketch to Polygon
- 軌跡
- Plot3D
- テンポとピッチの変更
- 長方形の影
- Twitterクライアント
- Polygon to Mesh
- 3Dテキスト
- アプリ終了の確認
- 地形の生成
- アーカイブファイル
- GUIのアニメーション
- Aero Glassエフェクト
- Glitch
- リンクテキスト
- 付箋
- シーン切り替え(シルエット)
- MIDIシーケンサー
- 数つなぎ
- 画面を揺らす
- 対称定規
- aobench
- MIDIビジュアライザー
- 電卓
- 手書き文字認識
- 顔検出
- 音声合成
- Image to PhysicsBody