独学ツクールブログ

ツクールでのオリジナル作品の話を中心に創作関係の徒然な語り。

<< RGSS奮闘記17:文字色をカスタマイズするその7 | main | 計算通り(ニヤリッ)。 >>

[ - ] スポンサーサイト

一定期間更新がないため広告を表示しています

| 2018.05.23 Wednesday | - | - |

[ RGSS奮闘記 ] RGSS奮闘記18:文字色をカスタマイズするその8

〜前回のあらすじ〜
次回へ続く

今回は今までのまとめと仕上げ。
改造としては既に完了しているが、このままではコピペによる導入ができない。せっかく作ったのだから素材として利用できるようにもしたい。
ということで、最後のひと仕事といこう。



まずWindow_Base#text_colorから。
全部書き換えてしまったがこれでは素材として不合格だ。元の数字による指定もできるようにしなくてはいけない。もちろん元の記述と改造した記述の両方を書くのが一番簡単だが、同じ記述が二度あるのもよろしくない。
そこでここでは「エイリアス」という機能を使う。「alias 新メソッド名 旧メソッド名」と記述することでメソッドに別名をつけることができる。その上で元のメソッドを再定義するのである。これはRGSS素材の常套技だ。

alias ik_text_color text_color
そして再定義。
def text_color(n)
  case n
  when /[0-9a-f]{6}/i
    code = n.scan(/.{2}/).map! {|i| i.hex}
    return Coror.new(code[0], code[1], code[2], 255)
  when "red"
    return Color.new(255, 0, 0, 255)
  when "green"
    return Color.new(0, 255, 0, 255)
  when "blue"
    return Color.new(0, 0, 255, 255)
  when "yellow"
    return Color.new(255, 255, 0, 255)
  when "aqua"
    return Color.new(0, 255, 255, 255)
  when "fuchsia"
    return Color.new(255, 0, 255, 255)
  when "orange"
    return Color.new(255, 165, 0, 255)
  when "pink"
    return Color.new(255, 192, 203,255)
  when "silver"
    return Color.new(192, 192, 192, 255)
  when "gold"
    return Color.new(255, 215, 0, 255)
  else
    kuma_text_color(n.to_i)
  end
end
再定義したメソッドの中ではカラーコードと色名の判別しかしていない。それ以外の値が来た場合はelse部分が実行される。ここで、エイリアスした元メソッドを呼ぶわけである。このとき、引数nは文字列なので、メソッドに渡す際にto_iメソッドで数値に置換しておく。
これで、カラーコードもしくは色名の場合は改造した部分の処理、それ以外(数字)の場合は元の処理というふうに実行されるわけである。

その他いくつかの箇所を微修正(本質には関係ないので省略)し、まとめたのがこちら。
とりあえずバージョンは0.8にしてみる。



正直こんなに長くなるとは思わなかった。
先が思いやられるな……


タグ:[Ruby] [RGSS] [素材] [Window_Base]

| 2011.01.18 Tuesday 19:05 | comments(0) | trackbacks(0) |

[ - ] スポンサーサイト

| 2018.05.23 Wednesday 19:05 | - | - |

コメント

コメントする






この記事のトラックバックURL

トラックバック

このページの先頭へ▲

Twitter

WebClap

Blogram

ブログランキングならblogram

calendar

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< October 2019 >>

categories

archives

Amazon

selected entries

recent comment

recent trackback

recent ranking

links

search this site.

sponsored links

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM