追加案 メッセージウィンドウの色の宿またはスキンでの保存など

Issue #299 new
Former user created an issue

pyはスキン機能が結構楽しいのでスキン毎に変えたいときに便利かなと思いました。

あとgifアニメに対応とか無理っぽいですか? アニメでキラッと光る適正や使用回数のシンボル?等ができたら面白いかなと。

音声で気になったのは効果音の無限ループ不可でしょうか。 波や風、雨などの持続する効果音もありますしループしても良いかと思います。 効果音的な曲もあれば曲に近い効果音もあります、どちらもただの音です、役割に違いは無いと思います。 曲扱いか効果音なのかはシナリオ制作者が決めればよいだけだと思います。

Comments (5)

  1. k4nagatsuki repo owner

    ご提案ありがとうございます。

    スキンごとの色の設定とフォントの設定はいずれ追加したいと考えています。まだやっていない理由は、作業量が多そうなので躊躇しているというくらいで、技術的な難題はあまりないと思われます。


    GIFアニメは、私も瞬きするカード絵などを使いたくて考えた事があるのですが、技術的に大変なので断念した状態になっています。技術的課題をいくつか挙げておきます。

    1. GIF内のすべてのイメージデータを読み込む事。pygameの機能には無いので、PIL(更新が止まっていた気がするのでその後継ライブラリ)などを使用するか、自前でなんとかする必要があります。
    2. タイミングに応じたイメージを描画する事。CWPyの60FPSのタイミングに合わせて該当スプライトを更新する必要があります。内部の描画の仕組み的に簡単ではありませんが、linuxの動画対応やステータスバーの点滅などに似た方法で可能と思われます。
    3. 1.2.はpygame側の問題で、wx側では1.2.に似た問題が改めて発生します。個別のダイアログで周期的に再描画を行う必要が出てきます。
    4. GIFだけでなくMNGなどにも対応したい。

    魅力的な機能なので、やりたいかどうかと言われるとやりたいですね。上に挙げた問題をすぐ解決するのは現実的ではないのですが。


    効果音の無限ループ不可についてですが、CWにおけるBGMと効果音の扱いの違いを考えてこのような仕様にしました。

    CWでは、効果音はBGMのように停止するものではありません。鳴らしたら鳴ったきりであって、止めるものではないというのが仕様です。システム・初期化.wavを同じチャンネルで鳴らす事で前の効果音を打ち消す事ができますが、これはあくまでも複数の効果音を同時に鳴らす事ができない事を利用した裏技です。効果音を無限ループさせると、裏技によって止めなくてはなりません。

    また、上のような仕様の反映として、CWは「今どの効果音が鳴っているか」という情報を持ちません。BGMには「今鳴らしているもの」の情報があって、例えばセーブしてロードした時はまた同じBGMを流すようになっています。効果音にはこれがありませんので、例えば効果音チャンネルで環境音を鳴らしている状態でセーブしてロードすると、その環境音は消えてしまいます。

    曲扱いされる音声は、BGMとして流した方が安全ですし、それが可能です(今のところそれができない場合は「そのファイルがスキンのSoundフォルダのみにある場合」のみです)。

  2. k4nagatsuki repo owner

    pull request #1396

    実現方法の検討に手間取ってすっかりお待たせしてしまいましたが、スキンで色とフォントの設定を上書きできるようにしました。

  3. k4nagatsuki repo owner

    残りはGIFアニメですが、当面実現困難なので優先度を下げさせてください。

  4. Log in to comment