#==============================================================================
# ■ XP風アイコン描画 VX Ace By 貪藻矢射妥←
#------------------------------------------------------------------------------
# VX Aceのひとまとめアイコンではなく、XP風に個別アイコンを表示させてみます。
#
# ※注意!
# ・アイコンファイルはGraphics/Systemにインポートしてください
#
#==============================================================================
# 更新っぽいもの
# 2012:01:15
# ・外部フラグ追加
$OuterFlgs = {} if $OuterFlgs == nil
$OuterFlgs["Icon_Extend"] = true
module DIA_IC
# ◆ カスタマイズ用"カッコ"
# ※別のスクリプトとかを使用しており、"[", "]"が使用不能なのはイタイという
# 場合に。
STT = "《"
FIN = "》"
end
class Window_Base < Window
include DIA_IC
attr_accessor :icon_name # アイコンの名前
#--------------------------------------------------------------------------
# ● アイコンの描画
# icon_index : アイコン番号
# x : 描画先 X 座標
# y : 描画先 Y 座標
# enabled : 有効フラグ。false のとき半透明で描画
#--------------------------------------------------------------------------
def draw_icon(icon_index, x, y, enabled = true)
bitmap = Cache.system("Iconset")
rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
draw_icon_root(bitmap, rect, x, y, enabled)
end
#--------------------------------------------------------------------------
# ● アイコンの描画(XP版)
# icon_name : アイコンネーム
# x : 描画先 X 座標
# y : 描画先 Y 座標
# enabled : 有効フラグ。false のとき半透明で描画
#--------------------------------------------------------------------------
def draw_icon_XP(icon_name, x, y, enabled = true)
bitmap = Cache.system(@icon_name)
rect = Rect.new(0, 0, 24, 24)
draw_icon_root(bitmap, rect, x, y, enabled)
end
#--------------------------------------------------------------------------
# ● アイコンの描画(おおもと)
# bitmap : ビットマップキャッシュ
# rect : ビットマップの表示Rect
# x : 描画先 X 座標
# y : 描画先 Y 座標
# enabled : 有効フラグ。false のとき半透明で描画
#--------------------------------------------------------------------------
def draw_icon_root(bitmap, rect, x, y, enabled = true)
self.contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
end
#--------------------------------------------------------------------------
# ● アイテム名の描画
# item : アイテム (スキル、武器、防具でも可)
# x : 描画先 X 座標
# y : 描画先 Y 座標
# enabled : 有効フラグ。false のとき半透明で描画
#--------------------------------------------------------------------------
def draw_item_name(item, x, y, enabled = true, width = 172)
return unless item
text = item.note.clone
# アイコンネーム抽出
@icon_name = text =~ /ICON#{DIA_IC::STT}(\S+)#{DIA_IC::FIN}/ ? $1 : nil
#msgbox(@icon_name)
# アイコンネームがある場合XP版で描画する
if @icon_name != nil
draw_icon_XP(@icon_name, x, y, enabled)
else
draw_icon(item.icon_index, x, y, enabled)
end
change_color(normal_color, enabled)
draw_text_ex(x + 24, y, item.name)
end
end
|