Project1

标题: 在道具栏中加入丢弃道具怎么做? [打印本页]

作者: 吸血鬼之妻    时间: 2012-9-3 18:52
标题: 在道具栏中加入丢弃道具怎么做?
本帖最后由 吸血鬼之妻 于 2012-9-3 18:56 编辑

当使用道具时会弹出窗口
使用、丢弃和取消,要怎么做?
有脚本吗?
希望发发脚本或者范例dsu_plus_rewardpost_czw
作者: 怪蜀黍    时间: 2012-9-4 14:39
嗷呜~~
范例在这里: Project3.rar (239.11 KB, 下载次数: 463)
RUBY 代码复制
  1. #==============================================================================
  2. # ■ 道具操作选项
  3. #------------------------------------------------------------------------------
  4. #
  5. #   本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  6. #
  7. #   作者:protosssonny   
  8. #
  9. #==============================================================================
  10.  
  11. #==============================================================================
  12. # ■ Scene_Item
  13. #------------------------------------------------------------------------------
  14. #  处理物品画面的类。
  15. #==============================================================================
  16.  
  17. class Scene_Item < Scene_Base
  18.   #--------------------------------------------------------------------------
  19.   # ● 开始处理
  20.   #--------------------------------------------------------------------------
  21.   def start
  22.     super
  23.     create_menu_background
  24.     @viewport = Viewport.new(0, 0, 544, 416)
  25.     @help_window = Window_Help.new
  26.     @help_window.viewport = @viewport
  27.     @item_window = Window_Item.new(0, 56, 544, 360)
  28.     @item_window.viewport = @viewport
  29.     @item_window.help_window = @help_window
  30.     @item_window.active = false
  31.     @target_window = Window_MenuStatus.new(0, 0)
  32.     @item_command_window = Window_Command.new(160, ["使用","丢弃","取消"])
  33.     @item_command_window.y = 56
  34.     @item_command_window.active = false
  35.     @item_command_window.visible = false
  36.     hide_target_window
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ● 结束处理
  40.   #--------------------------------------------------------------------------
  41.   def terminate
  42.     super
  43.     dispose_menu_background
  44.     @viewport.dispose
  45.     @help_window.dispose
  46.     @item_window.dispose
  47.     @target_window.dispose
  48.     @item_command_window.dispose
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● 回到原画面
  52.   #--------------------------------------------------------------------------
  53.   def return_scene
  54.     $scene = Scene_Menu.new(0)
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● 更新画面
  58.   #--------------------------------------------------------------------------
  59.   def update
  60.     super
  61.     update_menu_background
  62.     @help_window.update
  63.     @item_window.update
  64.     @target_window.update
  65.     @item_command_window.update
  66.     if @item_window.active
  67.       update_item_selection
  68.     elsif @target_window.active
  69.       update_target_selection
  70.     elsif @item_command_window.active
  71.       update_item_command_selection
  72.     end
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 更新物品选择
  76.   #--------------------------------------------------------------------------
  77.   def update_item_selection
  78.     if Input.trigger?(Input::B)
  79.       Sound.play_cancel
  80.       return_scene
  81.     elsif Input.trigger?(Input::C)
  82.       Sound.play_decision
  83.       @item_window.active = false
  84.       @item_command_window.active = true
  85.       @item_command_window.visible = true
  86.     end
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 更新物品选择
  90.   #--------------------------------------------------------------------------
  91.   def update_item_command_selection
  92.     if Input.trigger?(Input::B)
  93.       @item_command_window.active = false
  94.       @item_command_window.visible = false
  95.       @item_window.active = true
  96.       Sound.play_cancel
  97.     elsif Input.trigger?(Input::C)
  98.       case @item_command_window.index
  99.       when 0 # 使用
  100.         @item = @item_window.item
  101.         if @item != nil
  102.           $game_party.last_item_id = @item.id
  103.         end
  104.         if $game_party.item_can_use?(@item)
  105.           Sound.play_decision
  106.           determine_item
  107.         else
  108.           Sound.play_buzzer
  109.         end
  110.       when 1 # 丢弃
  111.         @item = @item_window.item
  112.         if @item == nil or @item.price == 0
  113.           Sound.play_buzzer
  114.         else
  115.           $game_party.lose_item(@item, 1)
  116.           Sound.play_decision
  117.           @item_window.refresh
  118.         end  
  119.       when 2 # 取消
  120.         @item_command_window.active = false
  121.         @item_command_window.visible = false
  122.         @item_window.active = true
  123.         Sound.play_cancel
  124.       end  
  125.     end
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # ● 显示目标窗口
  129.   #     right : 靠又对齐标签(为false时则靠左)
  130.   #--------------------------------------------------------------------------
  131.   def show_target_window(right)
  132.     @item_command_window.active = false
  133.     width_remain = 544 - @target_window.width
  134.     @target_window.x = right ? width_remain : 0
  135.     @target_window.visible = true
  136.     @target_window.active = true
  137.     if right
  138.       @viewport.rect.set(0, 0, width_remain, 416)
  139.       @viewport.ox = 0
  140.     else
  141.       @viewport.rect.set(@target_window.width, 0, width_remain, 416)
  142.       @viewport.ox = @target_window.width
  143.     end
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● 隐藏目标窗口
  147.   #--------------------------------------------------------------------------
  148.   def hide_target_window
  149.     if @item_command_window.visible
  150.       @item_command_window.active = true
  151.     else  
  152.       @item_window.active = true
  153.       @item_command_window.index = 0
  154.     end  
  155.     @target_window.visible = false
  156.     @target_window.active = false
  157.     @viewport.rect.set(0, 0, 544, 416)
  158.     @viewport.ox = 0
  159.   end
  160. end

作者: hxl6451329    时间: 2013-11-18 13:49
第17行发生 TrpeError superclass mismatch for class Scene_Item




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1