#==============================================================================
# 物品说明窗口(透明背景,显示描述文字)
#==============================================================================
class Window_BagDesc < Window_Base
def initialize(x, y, width, height)
super(x, y, width, height)
self.opacity = 0
self.back_opacity = 0
@item = nil
end
def set_item(item)
@item = item
refresh
end
def refresh
contents.clear
return unless @item
draw_text_ex(4, 4, @item.description)
end
end
#==============================================================================
# 自定义背包场景
#==============================================================================
class Scene_Bag < Scene_Base
def start
super
create_background
create_item_list
create_description
end
def update_description
item = @list_window.item
@desc_window.set_item(item)
end
def update
super
if @list_window && @list_window.active
if @last_index != @list_window.index
update_description
@last_index = @list_window.index
end
end
end
def use_item
item = @list_window.item
if item && item.is_a?(RPG::Item) && item.consumable
$game_party.consume_item(item)
@list_window.refresh
update_description
Sound.play_use_item
else
Sound.play_buzzer
end
end
def return_scene
SceneManager.goto(Scene_Map)
end
end
#==============================================================================
# 替换默认物品场景
#==============================================================================
class << SceneManager
alias_method :custom_bag_call, :call
def call(scene_class)
if scene_class == Scene_Item
custom_bag_call(Scene_Bag)
else
custom_bag_call(scene_class)
end
end
end 作者: l001213 时间: 2026-4-29 15:47
可能是使用物品时没有实现目标选择作者: alexncf125 时间: 2026-4-29 22:11
def use_item里再加句@list_window.activate吧?作者: 凯Katy 时间: 2026-4-30 08:10