Help us understand the problem. What is going on with this article?

2行で導入できるOpenSiv3D用パラメータ管理ツール

More than 1 year has passed since last update.

param_.png

パラメータをソースコードで管理するのは大変です。
現在の OpenSiv3D(v0.3.0) にはスクリプト機能があるので状況は良くなっていますが、それでも GUI ツールほど手軽な調整はできません。

ということで OpenSiv3D 用のパラメータ管理ツールを試作しました。

パラメータ管理ツール

こちらで公開しています。
https://github.com/agehama/SivParamEditor

このツールは1つのヘッダ(ParamEditor.hpp)と OpenSiv3D プログラム(Editor.cpp)から成ります。

使用例

使用したいアプリケーションから ParamEditor.hpp をインクルードし、メインループの中で pmt::Update(); を呼びます。あとはpmt::GetColor(U"名前") のようにして色の取得を行うことができます。

#include <Siv3D.hpp>
#include "ParamEditor.hpp"

void Main()
{
    while (System::Update())
    {
        Window::ClientRect().draw({
            pmt::GetColor(U"BgTop"), pmt::GetColor(U"BgTop"),
            pmt::GetColor(U"BgBottom"), pmt::GetColor(U"BgBottom")
        });

        pmt::Update();
    }
}

このプログラムを単に実行すると、適当な色が勝手に割り当てられて描画されます。
20181202-221506-089.png

この状態でエディターを起動すると、次のようにプログラム内で使用した色が自動的に読み込まれます。
20181202-221632-186.png

この色の付いた部分をクリックして、色を変更すると元のアプリケーションにも反映されます。
20181202-221725-483.png

このデータは作業ディレクトリ内の ParameterEditor/save.dat に自動的にセーブされるので、プログラムを終了しても次に起動した時に自動的に読み込まれます。
20181202-221739-449.png

補足

調整が終わったら ParamEditor.hpp をインクルードする前に #define PMT_RELEASE_FLAG true というマクロ定義を書けばエディタとの通信が行われなくなるので、ほぼコスト0で呼び出すことができます。

まだ作り途中ですが、以下の機能追加・修正を予定しています(やる気が続く限り)。

  • Double, Int, Vec2 型への対応
  • カラーエディターの修正
  • パラメータのセット作成・切り替え機能
  • ポート番号の変更
  • 古いパラメータの削除

終わりに

冒頭の画像はこのエディターのソースコードでした(ツールを作るためのツールが欲しい)。

agehama_
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした