#==============================================================================
# ■ アイコンの制限解除 by 貪藻矢射妥←
#------------------------------------------------------------------------------
# アイコンが256個しか使えないというVXの制限を解除します。
#
# ※注意!
# ・アイコンファイルはGraphics/Systemにインポートしてください
#
#==============================================================================
# 更新っぽいもの
# 2008:09:04
# ・メモ欄の2行目以降に文字が入っているとエラー落ちするバグを修正
#
# 2009:10:01
# ・メモ欄での書式設定の変更(他サイト様のスクリプトとの競合を防止)
#
# 2011:12:23
# ・無駄処理削除
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 : 128)
end
#--------------------------------------------------------------------------
# ● アイテム名の描画
# item : アイテム (スキル、武器、防具でも可)
# x : 描画先 X 座標
# y : 描画先 Y 座標
# enabled : 有効フラグ。false のとき半透明で描画
#--------------------------------------------------------------------------
def draw_item_name(item, x, y, enabled = true)
return unless item
text = item.note.clone
# アイコンネーム抽出
@icon_name = text =~ /ICON#{DIA_IC::STT}(\w+)#{DIA_IC::FIN}/ ? $1 : nil
# アイコンネームがある場合XP版で描画する
if @icon_name != nil
draw_icon_XP(@icon_name, x, y, enabled)
else
draw_icon(item.icon_index, x, y, enabled)
end
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
self.contents.draw_text(x + 24, y, 172, WLH, item.name)
end
end
|