-
Notifications
You must be signed in to change notification settings - Fork 1
アプリケーションの公開
Siv3D で開発したアプリケーションを公開する際のガイドラインです。
Siv3D で開発したアプリケーションを実行するには、次の環境が必要です。
- OS: Windows 7 SP1 / 8 / 8.1 / 10
- GPU: GeForce 8400 - / Radeon HD 2400 - / Intel HD Graphics
- (Windows 7 の場合) 最新の DirectX ランタイム
配布するフォルダ内に以下のデータを配置します。
- アプリケーションの実行ファイル (.exe)
- Release ビルドでは最小で 15MB 程度になります。(プログラムや埋め込んだファイルの量に応じて増加します)
- 実行ファイルのターゲット (x86 または x64) は ソリューションプラットフォーム で設定します
- x86 は 32bit / 64bit 両方の OS で動作し、x64 は 64bit OS でのみ動作します
- ビルド時に生成される .exe 以外のファイル (.pdb, .exp, .lib ファイルなど) は不要です
- dll 以外を削除した Engine フォルダ
-
dll(x86)
/dll(x64)
フォルダ以外のファイル (Assets, Fonts, Shaders, Splash.png 等) は自動的に .exe に埋め込まれます - ターゲットが x86 (32bit) の場合
dll(x64)
は不要です - ターゲットが x64 (64bit) の場合
dll(x86)
は不要です - Config.ini は開発者向けのファイルのため、配布しません
-
- アプリケーションが使う画像やサウンドなどのファイル(.exe に埋め込んでいなければ)
- (必要であれば)ユーザーに読んでもらうマニュアルや README などのドキュメント
以下のような配置になります。
Web 上で公開する場合は、これらの親フォルダを zip 圧縮しましょう。
配布するアプリケーションは Visual Studio のソリューション構成を「Debug」ではなく「Release」にしてビルドしましょう。Release ビルドと Debug ビルドの違いは次の通りです。
- exe ファイルにデバッグ情報が埋め込まれないので、サイズが小さくなる
- 最適化された機械語が生成されるので実行速度が速くなる
- ソースコード中の assert が無視される
- ログに最小限の情報しか出力されなくなる
アプリケーションのアイコンを変更するには、プロジェクトフォルダの icon.ico を新しい ico に置き換えて、プロジェクトをビルドします。icon.ico は .exe に埋め込まれるため、配布する際に添付する必要はありません。
オリジナルのロゴ画像を起動時に表示するには、Engine フォルダの Splash.png を新しい画像に置き換えてプロジェクトをビルドします。新しい Splash.png も .exe に埋め込まれるため、配布する際に添付する必要はありません。
.exe ファイルの名前や、実行時にタスクマネージャーに表示されるアプリケーション名を変更するには、Visual Studio のソリューションエクスプローラーのプロジェクト名を変更します。
ウィンドウに表示されるアプリケーションのタイトルは Window::SetTitle(L"タイトル")
で設定します。
いくつかの制約のもと、最小で 9 MB 程度(zip 圧縮すると 5 MB 程度)の .exe ファイル単体でアプリケーションの実行が可能です。
dll が提供する機能をプログラムで使わない場合、該当する dll や Engine フォルダを添付する必要はありません。
DLL | 添付しない場合の制約 |
---|---|
D3D | シェーダファイル (.hlsl) のコンパイルができません。Shader::Compile() でコンパイル済みのシェーダを使うことは可能です。 |
libmpg123 | MP3 ファイルのロード速度が低下します。また、MP3 のデコード結果が若干異なる場合があります。 |
libqrencode |
QR::MinimumVersion() 及び QR::Encode() が使用できません。QR コードの読み取りは可能です。 |
SoundTouch |
WaveStretcher クラス、Sound::changePitch() , Sound::changeTempo() が使用できません。 |
TobiiEyeX |
TobiiEyeX:: 名前空間の関数が使用できません。 |
Resource.rc
で設定されている、Engine 関連の埋め込みファイルのうち // Optional
以下に記述されているものについては、該当ファイルを使わない場合、//
でコメントアウトすると埋め込みをキャンセルできます。
ファイル | 埋め込まない場合の制約 |
---|---|
Engine/Objdetect/facePhoto.zip |
Imageing::DetectFaces() で、CascadeType::Photo が使用できません。 |
Engine/Objdetect/faceAnime.zip |
Imageing::DetectFaces() で、CascadeType::Anime が使用できません。 |
Engine/Fonts/mplus-1p-thin.zip |
Typeface::Thin が使用できません。 |
Engine/Fonts/mplus-1p-light.zip |
Typeface::Light が使用できません。 |
Engine/Fonts/mplus-1p-regular.zip |
Typeface::Regular が使用できません。 |
Engine/Fonts/mplus-1p-bold.zip |
Typeface::Bold が使用できません。 |
Engine/Fonts/mplus-1p-black.zip |
Typeface::Black が使用できません。 |
Icon.ico | アプリケーションのアイコンが設定されません。 |
Engine/Splash.png | スプラッシュ画像が表示されません。 |
以上の制約のもと、9 MB 程度(zip 圧縮すると 5 MB 程度)の .exe ファイル単体でアプリケーションの実行が可能です。
- 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