独学ツクールブログ

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

<< RGSS奮闘記10:文字色をカスタマイズするその0 | main | RGSS奮闘記12:文字色をカスタマイズするその2 >>

[ - ] スポンサーサイト

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

| 2018.05.23 Wednesday | - | - |

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

〜前回のあらすじ〜
前置き終了。


まずはWindow_Baseクラスのtext_colorメソッドの改造。
ここでの目的は、「¥[c]」という表記だけでなく「¥[name]」という色名表記や「¥[FFFFFF]」というカラーコード表記を受け付けるようにすることだ。


デフォルトのtext_colorメソッドは以下のようになっている。

def text_color(n)
  case n
  when 0
    return Color.new(255, 255, 255, 255)
  when 1
    return Color.new(128, 128, 255, 255)
  when 2
    return Color.new(255, 128, 128, 255)
  when 3
    return Color.new(128, 255, 128, 255)
  when 4
    return Color.new(128, 255, 255, 255)
  when 5
    return Color.new(255, 128, 255, 255)
  when 6
    return Color.new(255, 255, 128, 255)
  when 7
    return Color.new(192, 192, 192, 255)
  else
    normal_color
  end
end
ここでは引数nが0〜7の数値の場合は対応した色を、それ以外の場合はnormal_colorメソッドの戻り値(白)を返している。
case〜when(〜else)〜endという制御構造は複数のifをひとかたまりにまとめることができるものと思っていい。ifを複数並べるよりも分かりやすく、短く書ける場合が多い。

さて、まずは正規表現の必要ない色名指定から始めよう。
これはどうということはない。今あるものと同様にして拡張すればいいだけである。
具体的には以下の通り。
def text_color(n)
  case n
  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
    normal_color
  end
end
ここでは、HTMLなどでもよく使われるような10色を選んでみた。"green"のところは本来なら"lime"とすべきだが細かいことは置いておく。
次回はカラーコード指定を受け付ける部分を追加する。いよいよ正規表現の出番である。


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

| 2011.01.11 Tuesday 20:50 | comments(0) | trackbacks(0) |

[ - ] スポンサーサイト

| 2018.05.23 Wednesday 20:50 | - | - |

コメント

コメントする






この記事のトラックバック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