设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1909|回复: 0
打印 上一主题 下一主题

[已经过期] 请教修改店铺界面的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2014-10-2
帖子
24
跳转到指定楼层
1
发表于 2016-2-28 16:19:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
原本的商店界面是这样的:

请教修改成这样:
A左边的陈列框移到右边
B右边的能力变化删除
C顶部的取消去掉
D金钱移到左下面


下面是商店页面脚本:
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Scene_Shop
  3. #------------------------------------------------------------------------------
  4. #  处理商店画面的类。
  5. #==============================================================================
  6.  
  7. class Scene_Shop < Scene_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 开始处理
  10.   #--------------------------------------------------------------------------
  11.   def start
  12.     super
  13.     create_menu_background
  14.     create_command_window
  15.    @help_window = Window_Help.new
  16.     @gold_window = Window_Gold.new(384, 56)
  17.     @gold_window.y = 0
  18.     @dummy_window = Window_Base.new(0, 56, 608, 424)
  19.     @buy_window = Window_ShopBuy.new(0, 56)
  20.     @buy_window.active = false
  21.     @buy_window.visible = false
  22.     @buy_window.help_window = @help_window
  23.     @sell_window = NaturalBlue_Window_ItemList.new
  24.     @sell_window.active = false
  25.     @sell_window.visible = false
  26.     @sell_window.help_window = @help_window
  27.     @number_window = Window_ShopNumber.new(0, 56)
  28.     @number_window.active = false
  29.     @number_window.visible = false
  30.     @status_window = Window_ShopStatus.new(304, 112)
  31.     @status_window.y = 56
  32.     @status_window.visible = false
  33.     @itemcommand_window = NaturalBlue_Window_ItemCommand.new
  34.     @itemcommand_window.y = 56
  35.     @itemcommand_window.height = 360
  36.     @itemcommand_window.back_opacity = 200
  37.     @itemcommand_window.help_window = @help_window
  38.     @itemcommand_window.active = false
  39.     @itemcommand_window.visible = false
  40.     @command_index = @itemcommand_window.index
  41.     @sell_window.set_item_sell(@itemcommand_window.commands[@command_index])
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 结束处理
  45.   #--------------------------------------------------------------------------
  46.   def terminate
  47.     super
  48.     dispose_menu_background
  49.     dispose_command_window
  50.     @help_window.dispose
  51.     @gold_window.dispose
  52.     @dummy_window.dispose
  53.     @buy_window.dispose
  54.     @sell_window.dispose
  55.     @number_window.dispose
  56.     @status_window.dispose
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 更新画面
  60.   #--------------------------------------------------------------------------
  61.   def update
  62.     super
  63.     update_menu_background
  64.     @help_window.update
  65.     @command_window.update
  66.     @gold_window.update
  67.     @dummy_window.update
  68.     @buy_window.update
  69.     @sell_window.update
  70.     @number_window.update
  71.     @status_window.update
  72.     @itemcommand_window.update
  73.     @itemcommand_window.refresh
  74.     if @command_index != @itemcommand_window.index
  75.       @sell_window.index = 0
  76.       @command_index = @itemcommand_window.index
  77.       @sell_window.set_item_sell(@itemcommand_window.commands[@command_index])
  78.     end
  79.     @itemcommand_window.update_help
  80.     if @command_window.active
  81.       update_command_selection
  82.     elsif @buy_window.active
  83.       update_buy_selection
  84.     elsif @itemcommand_window.active
  85.       update_itemcommand
  86.     elsif @sell_window.active
  87.       update_sell_selection  
  88.     elsif @number_window.active
  89.       @help_window.visible = false                            #我加
  90.       update_number_input
  91.     end
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● 生成命令窗口
  95.   #--------------------------------------------------------------------------
  96.   def create_command_window
  97.     s1 = Vocab::ShopBuy
  98.     s2 = Vocab::ShopSell
  99.     s3 = Vocab::ShopCancel
  100.     @command_window = Window_Command.new(384, [s1, s2, s3], 3)
  101.     @command_window.x = 0  #<--- 新增
  102.     @command_window.y = 0  
  103.     if $game_temp.shop_purchase_only
  104.       @command_window.draw_item(1, false)
  105.     end
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 释放命令窗口
  109.   #--------------------------------------------------------------------------
  110.   def dispose_command_window
  111.     @command_window.dispose
  112.   end
  113.   #--------------------------------------------------------------------------
  114.   # ● 更新命令窗口
  115.   #--------------------------------------------------------------------------
  116.   def update_command_selection
  117.     if Input.trigger?(Input::B)
  118.       Sound.play_cancel
  119.       $scene = Scene_Map.new
  120.     elsif Input.trigger?(Input::C)
  121.       case @command_window.index
  122.       when 0  # 买入
  123.         Sound.play_decision
  124.         @command_window.active = false
  125.         @dummy_window.visible = false
  126.         @buy_window.active = true
  127.         @buy_window.visible = true
  128.         @buy_window.refresh
  129.         @status_window.visible = true
  130.       when 1  # 卖出
  131.         if $game_temp.shop_purchase_only
  132.           Sound.play_buzzer
  133.         else
  134.           Sound.play_decision
  135.           @command_window.active = false
  136.           @dummy_window.visible = false
  137.           @sell_window.active = false
  138.           @sell_window.visible = true
  139.           @itemcommand_window.active = true
  140.           @itemcommand_window.visible = true
  141.           @itemcommand_window.refresh
  142.         end
  143.       when 2  # 离开
  144.         Sound.play_decision
  145.         $scene = Scene_Map.new
  146.       end
  147.     end
  148.   end
  149.   #--------------------------------------------------------------------------
  150.   # ● 更新买入选择
  151.   #--------------------------------------------------------------------------
  152.   def update_buy_selection
  153.     @status_window.item = @buy_window.item
  154.     @help_window.visible = true
  155.     if Input.trigger?(Input::B)
  156.       Sound.play_cancel
  157.       @command_window.active = true
  158.       @dummy_window.visible = true
  159.       @buy_window.active = false
  160.       @buy_window.visible = false
  161.       @status_window.visible = false
  162.       @status_window.item = nil
  163.       @help_window.visible = false
  164.       return
  165.     end
  166.     if Input.trigger?(Input::C)
  167.       @item = @buy_window.item
  168.       number = $game_party.item_number(@item)
  169.       if @item == nil or @item.price > $game_party.gold or number == 9999
  170.         Sound.play_buzzer
  171.       else
  172.         Sound.play_decision
  173.         max = @item.price == 0 ? 9999 : $game_party.gold / @item.price
  174.         max = [max, 9999 - number].min
  175.         @buy_window.active = false
  176.         @buy_window.visible = false
  177.         @number_window.set(@item, max, @item.price)
  178.         @number_window.active = true
  179.         @number_window.visible = true
  180.       end
  181.     end
  182.   end
  183.   #--------------------------------------------------------------------------
  184.   # ● 更新卖出选择
  185.   #--------------------------------------------------------------------------
  186.   def update_sell_selection
  187.     @help_window.visible = true
  188.     if Input.trigger?(Input::B)
  189.       Sound.play_cancel
  190.       @itemcommand_window.active = true
  191.       @sell_window.active = false
  192.       @status_window.item = nil
  193.       @help_window.visible = false                           
  194.     elsif Input.trigger?(Input::C)
  195.       @item = @sell_window.item
  196.       @status_window.item = @item
  197.       if @item == nil or @item.price == 0
  198.         Sound.play_buzzer
  199.       else
  200.         Sound.play_decision
  201.         max = $game_party.item_number(@item)
  202.         @sell_window.active = false
  203.         @sell_window.visible = false
  204.         @itemcommand_window.visible = false
  205.         @number_window.set(@item, max, @item.price / 4)
  206.  
  207.         @number_window.active = true
  208.         @number_window.visible = true
  209.         @status_window.visible = true
  210.       end
  211.     end
  212.   end
  213.   #--------------------------------------------------------------------------
  214.   # ● 更新数值输入
  215.   #--------------------------------------------------------------------------
  216.   def update_number_input
  217.     if Input.trigger?(Input::B)
  218.       cancel_number_input
  219.     elsif Input.trigger?(Input::C)
  220.       decide_number_input
  221.     end
  222.   end
  223.   #--------------------------------------------------------------------------
  224.   # ● 取消数值输入
  225.   #--------------------------------------------------------------------------
  226.   def cancel_number_input
  227.     Sound.play_cancel
  228.     @number_window.active = false
  229.     @number_window.visible = false
  230.     case @command_window.index
  231.     when 0  # 买入
  232.       @buy_window.active = true
  233.       @buy_window.visible = true
  234.     when 1  # 卖出
  235.       @sell_window.active = true
  236.       @sell_window.visible = true
  237.       @itemcommand_window.visible = true
  238.       @status_window.visible = false
  239.     end
  240.   end
  241.   #--------------------------------------------------------------------------
  242.   # ● 确认数值输入,注意,在随机属性里面有再定义
  243.   #--------------------------------------------------------------------------
  244. =begin
  245.   def decide_number_input
  246.     Sound.play_shop
  247.     @number_window.active = false
  248.     @number_window.visible = false
  249.     case @command_window.index
  250.     when 0  # 买入
  251.       $game_party.lose_gold(@number_window.number * @item.price)
  252.       $game_party.gain_item(@item, @number_window.number)
  253.       @gold_window.refresh
  254.       @buy_window.refresh
  255.       @status_window.refresh
  256.       @buy_window.active = true
  257.       @buy_window.visible = true
  258.     when 1  # 卖出
  259.       $game_party.gain_gold(@number_window.number * (@item.price / 4))
  260.       $game_party.lose_reini(@item, @number_window.number)
  261.       @gold_window.refresh
  262.       @sell_window.set_item_sell(@itemcommand_window.commands[@command_index])
  263.       @status_window.refresh
  264.       @sell_window.active = true
  265.       @sell_window.visible = true
  266.       @status_window.visible = false
  267.       @itemcommand_window.visible = true
  268.     end
  269.   end
  270. =end
  271.   #--------------------------------------------------------------------------
  272.   # ● 更新物品类型菜单
  273.   #--------------------------------------------------------------------------
  274.   def update_itemcommand
  275.     if Input.trigger?(Input::B)
  276.       Sound.play_cancel
  277.       @command_window.active = true
  278.       @itemcommand_window.active = false
  279.       @itemcommand_window.visible = false
  280.       @sell_window.visible = false
  281.       @dummy_window.visible = true
  282.       return
  283.     end
  284.     if Input.trigger?(Input::C)
  285.       if @sell_window.item_number == 0
  286.         Sound.play_buzzer
  287.         return
  288.       end
  289.       Sound.play_decision
  290.       @itemcommand_window.active = false
  291.       @sell_window.index = 0
  292.       @sell_window.active = true
  293.       return
  294.     end
  295.   end
  296. end

@正太君 @丁凯乐 @奇奇

点评

没看懂  发表于 2016-3-1 12:23
干嘛把我和这些马甲相提并论呢?我现在在外面玩...  发表于 2016-2-28 17:36
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-26 05:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表