[解決済み]【RGSS3】文字グラデーション

落下星
記事: 13
登録日時: 2016年11月01日(火) 06:04

[解決済み]【RGSS3】文字グラデーション

投稿記事by 落下星 » 2017年1月19日(木) 19:32

文章などの文字にグラデーション加工したいのですが。
そういった類いのスクリプトが見当たりませんでした・・・
途中グラデーションの変更も出来るようにしたいです。
どうかお願いします。
最後に編集したユーザー 落下星 on 2017年1月20日(金) 22:13 [ 編集 1 回目 ]

faida
記事: 250
登録日時: 2015年12月17日(木) 16:44

Re: 【RGSS3】文字グラデーション

投稿記事by faida » 2017年1月20日(金) 16:20

既存スクリプトであれば Kamesoft様 の「ビットマップ拡張」が使用可能です。
(XP/VX共用と書いていますが、VXAceでも動作することを確認しました。
ただし仕様上、使用するフォントが日本語に対応していないと描画されないようです。
デフォルトの "VL Gothic"ではダメでした……なんでやねん……)
グラデーションが縦しかないのでそこが気になるところですかね。
文章全体に徐々にグラデーションをかけていくことはできないので、別の方法を模索する必要があると思います。

※使い方ですが、
Font.gradation_color = Color.new(R, G, B, 透明度)
でグラデーションの下のほうの色が変わります。
上のほうはFont.color = Color.new(R, G, B, 透明度)とか、制御文字の\C[n]とかで変えられます。
---------------------------------------------
自作の(改造でない)スクリプト素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
落下星
記事: 13
登録日時: 2016年11月01日(火) 06:04

Re: 【RGSS3】文字グラデーション

投稿記事by 落下星 » 2017年1月20日(金) 20:56

faida さん返信ありがとうございます
ビットマップ拡張を試したところ39行目を変更したら890行目でエラーが発生しました。
nilではスクリプトでエラーが発生します。

それと自分でもある程度思考錯誤したのですがBlueRedZone様の文字グラデーションの132行目をclass Window_Message < Window_Base
に書き換え動かす事に成功しましたが、変更のコマンドが対応してませんでした。

ビットマップ拡張のエラー改善、もしくは文字グラデーションのコマンド対応化をお願いします。

ワガママ言ってすみません・・・よろしくお願いします。
faida
記事: 250
登録日時: 2015年12月17日(木) 16:44

Re: 【RGSS3】文字グラデーション

投稿記事by faida » 2017年1月20日(金) 21:47

>Kamesoft様の「ビットマップ拡張」でエラー
nilで動作を確認しました。まぁ競合だと思うので使わなくてもいいでしょう。

>BlueRedZone様の「文字グラデーション」
確認したらRGSS2でも変更できるかどうか怪しいシロモノだったので、RGSS3用に書き換えて正常に使用できるようにしました。
元スクリプトのWindow_Messageの部分を無効化して、これを下に入れれば多分動くはずです。
制御文字\B[n]を勝手に追加しました。文字がかぶってる場合は適当に変更してください。

コード: 全て選択

#==============================================================================
# ■ Font
#==============================================================================
class Font
  #--------------------------------------------------------------------------
  # ● 開始色の設定
  #--------------------------------------------------------------------------
  def set_gradcolor=(color1 = BMSP::TEXTGRADATION_COLOR)
    @@color1 = color1
  end
end

#==============================================================================
# ■ Window_Message
#==============================================================================

class Window_Message < Window_Base
  #--------------------------------------------------------------------------
  # ● 改ページ処理
  #--------------------------------------------------------------------------
  alias bmsp_new_page new_page
  def new_page(text, pos)
    bmsp_new_page(text, pos)
    contents.font.color = normal_color
  end
end
                  
class Window_Base
  #--------------------------------------------------------------------------
  # ● 制御文字の処理
  #     code : 制御文字の本体部分(「\C[1]」なら「C」)
  #--------------------------------------------------------------------------
  alias bmsp_process_escape_character process_escape_character
  def process_escape_character(code, text, pos)
    case code.upcase
    when 'B'
      contents.font.set_gradcolor = text_color(obtain_escape_param(text))
    else
      bmsp_process_escape_character(code, text, pos)
    end
  end
end
---------------------------------------------
自作の(改造でない)スクリプト素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
落下星
記事: 13
登録日時: 2016年11月01日(火) 06:04

Re: 【RGSS3】文字グラデーション

投稿記事by 落下星 » 2017年1月20日(金) 22:13

動作のを確認しました。
ありがとうございます助かりました。
この問題は解決済みとさせて頂きます。
くろくろ(・ω・)
記事: 33
登録日時: 2016年10月25日(火) 11:34
連絡を取る:

Re: [解決済み]【RGSS3】文字グラデーション

投稿記事by くろくろ(・ω・) » 2017年6月26日(月) 15:33

横から失礼します。
私もRGSS3での文字グラデーションをずーっと探していました!

blueredzone様の元スクリプトの132行目から下をfaida様が今回提供されたスクリプトで上書きして、動作を確認しました。
恐らくこれでいいんですよね?

本当にありがとうございます!

“VX / Ace:スクリプト素材のリクエスト” へ戻る