#LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL #Bitmapクラスにフォント描画の追加メソッドを与える。 #8月26日修正(おそらく最終版) #作:風見鳥 http://kazamit.com/ # #影付フォント描画メソッドを追加します #任意の場所に追加定義すればBitmapクラス継承先の #全ての文字描画に適用できるようになります。 #基本的に各所のdraw_textをkageなどに書き換えることで #フィルタとしての機能を果たします。 # #ただし囲みメソッドは、通常文字描画の単純計算で5倍の処理を #要しますので、メニューやズラリアイテム欄といった文字が多い画面で #用いると、スペックによっては読み込みが遅くなる可能性があります。 #また、デフォルト戦闘のダメージ表示も、同様の囲み方法で #文字の黒縁取りを行っております。参考になれば幸いです。 # #LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL class Bitmap #LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL #文字影つけフィルター ノーマルとRect用 #LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL def kage(x,y,width,height,mozistr,yose=0,kagecolor=Color.new(0,0,0,200),dx=1,dy=1) #引数(位置XY,サイズ,文字列,寄せ,影色,X方向ズレ,Y方向ズレ) #本文字カラーを一時格納 honcolor = Color.new(self.font.color.red,self.font.color.green,self.font.color.blue,self.font.color.alpha) self.font.color= kagecolor#影文字 self.draw_text(x+dx,y+dy,width,height,mozistr,yose)#影文字ずらし self.font.color = honcolor#本文字 self.draw_text(x,y,width,height,mozistr,yose)#本文字描画 end def kage_rect(rect,mozistr,yose=0,kagecolor=Color.new(0,0,0,200),dx=1,dy=1) #引数(Rect,文字列,寄せ,影色,X方向ズレ,Y方向ズレ) #本文字カラーを一時格納 honcolor = Color.new(self.font.color.red,self.font.color.green,self.font.color.blue,self.font.color.alpha) self.font.color= kagecolor#影文字 self.draw_text(rect.x+dx,rect.y+dy,rect.width,rect.height,mozistr,yose)#影文字ずらし self.font.color = honcolor#本文字 self.draw_text(rect,mozistr,yose)#本文字描画 end #LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL #文字囲みフィルター ノーマルとRect用 #LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL def kakomi(x,y,width,height,mozistr,yose=0,kagecolor=Color.new(0,0,0,200),dx=1,dy=1) #引数(位置XY,サイズ,文字列,寄せ,影色,X方向ズレ量,Y方向ズレ量) #本文字カラーを一時格納 honcolor = Color.new(self.font.color.red,self.font.color.green,self.font.color.blue,self.font.color.alpha) self.font.color= kagecolor#かこみ文字 self.draw_text(x,y+dy,width,height,mozistr,yose)#上 self.draw_text(x+dx,y,width,height,mozistr,yose)#右 self.draw_text(x,y-dy,width,height,mozistr,yose)#下 self.draw_text(x-dx,y,width,height,mozistr,yose)#左 self.font.color= honcolor#本文字 self.draw_text(x,y,width,height,mozistr,yose)#本文字描画 end def kakomi_rect(rect,mozistr,yose=0,kagecolor=Color.new(0,0,0,200),dx=1,dy=1) #引数(Rect,文字列,寄せ,影色,X方向ズレ量,Y方向ズレ量) honcolor = Color.new(self.font.color.red,self.font.color.green,self.font.color.blue,self.font.color.alpha) self.font.color= kagecolor#かこみ文字 self.draw_text(rect.x,rect.y+dy,rect.width,rect.height,mozistr,yose)#上 self.draw_text(rect.x+dx,rect.y,rect.width,rect.height,mozistr,yose)#右 self.draw_text(rect.x,rect.y-dy,rect.width,rect.height,mozistr,yose)#下 self.draw_text(rect.x-dx,rect.y,rect.width,rect.height,mozistr,yose)#左 self.font.color= honcolor#本文字 self.draw_text(rect,mozistr,yose)#本文字描画 end #LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL #フォントをリセットするだけの関数(名、サイズ、斜体、太字、カラー)(オマケ) #LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL def fontreset self.font.name = Font.default_name self.font.size = Font.default_size self.font.italic = Font.default_italic self.font.bold = Font.default_bold self.font.color = Font.default_color end end