Project1

标题: 请教,如何在装备栏新增一个窗口 [打印本页]

作者: flzt5354    时间: 2009-8-29 22:06
标题: 请教,如何在装备栏新增一个窗口
本帖最后由 flzt5354 于 2009-8-30 21:21 编辑

装备栏的界面是这样的
#################################
#                                                              #
#################################
#                           #                                 #
#                                         #                                 #
#                                        #                                  #
#                                        #                                 #
#######################################  
#                                                                                            #
################################


我就像用脚本再写个窗口出来
改怎样写呢
#################################
#                                                              #
#################################
#                           #                                 #
#                                         #                                 #
#                                        #                                  #
#                                        #                                 #
#######################################  
#                                                            #
################################
#                               我是新增加的                 #
################################
作者: dbshy    时间: 2009-8-29 22:08
window_xxx = Window_xxx.new

..................................................................
作者: flzt5354    时间: 2009-8-29 22:15
请详细点吧,,最好有个范例。。。
我很苯的
不知道要不要这样的格式
#==============================================================================
# ■ Window_EquipRight
#------------------------------------------------------------------------------
#  装备画面、显示角色现在装备的物品的窗口。
#==============================================================================

class Window_EquipRight < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     actor : 角色
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(272, 64, 368, 192)
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor = actor
    refresh
    self.index = 0
  end
作者: 柳飛鷹    时间: 2009-8-30 10:13
1、创建一个新窗口
2、刷新那里记得刷新窗口
3、记得释放窗口
完毕
作者: 沈黙栤冷    时间: 2009-8-30 12:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: flzt5354    时间: 2009-8-30 13:06
本帖最后由 flzt5354 于 2009-8-30 13:12 编辑

- -、
新建到轩辕剑菜单的装备选项。作描述能力值
- -我建了是没问题了。。。
问题是不会释放。。。一直存在
郁闷
  1. class Window_nengli < Window_Base
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化对像
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6.     super(0, 0, 480, 250)
  7.     self.contents = Bitmap.new(width - 32, height - 32)
  8.      refresh
  9.   @color_box = [0,0,0]
  10.   end
  11.    
  12.   #--------------------------------------------------------------------------
  13.   # ● 刷新
  14.   #--------------------------------------------------------------------------
  15.   
  16.   def refresh
  17.   
  18.     self.contents.clear
  19.     @item_max = $game_party.actors.size
  20.     for i in 0...$game_party.actors.size
  21.       x = 64
  22.       y = i * 80
  23.       actor = $game_party.actors[i]
  24.    #   bitmap = Bitmap.new("Graphics/system/menu/headp/" + actor.name + ".png")
  25.    #   src_rect = Rect.new(5, 13, 42, 100)
  26.    #   self.contents.blt(x - 64, y + 10, bitmap, src_rect)
  27.    #   self.draw_actor_state(actor, x +4, y+53)
  28.       # 我全写成散的!                  =。=
  29.       self.contents.font.color = Color.new(255, 0, 0, 255)
  30.       self.contents.font.size = 18
  31.       self.contents.font.bold = true

  32.       self.contents.draw_text(x - 67, y + 17, 44, 32, "攻击")
  33.       self.contents.font.color = Color.new(0, 96, 255, 255)
  34.       self.contents.draw_text(x - 67, y + 17 + 17, 44, 32, "物防")
  35.       self.contents.font.color = Color.new(0, 255, 0, 255)
  36.       self.contents.draw_text(x - 67, y + 17 + 17 + 17, 44, 32, "魔防")
  37.       self.contents.font.bold = false
  38.       self.contents.font.color = normal_color
  39.       self.contents.font.size = 20
  40.       self.contents.draw_text(x - 30, y, 160, 32, actor.name)
  41.       self.contents.font.size = 20
  42.       self.contents.draw_text(x-28, y + 17, 36, 32, actor.atk.to_s, 2)
  43.       self.contents.draw_text(x-28, y + 17 + 17, 36, 32, actor.pdef.to_s, 2)
  44.       self.contents.draw_text(x-28, y + 17 + 17 + 17, 36, 32, actor.mdef.to_s, 2)
  45.       if @actor_index == i
  46.         if @new_atk != nil
  47.           @color_box[0] = @new_atk <=> actor.atk
  48.           self.contents.font.size = 20
  49.           self.contents.font.color = Color.new(0, 0, 0, 255)
  50.           self.contents.draw_text(x, y + 17, 40, 32, "→", 1)
  51.           self.contents.font.size = 16
  52.           self.contents.font.color = @color_box[0] == -1 ? Color.new(0,255,0) : (@color_box[0] == 1 ? Color.new(255,0,0) : normal_color)
  53.           self.contents.draw_text(x+24, y + 17, 36, 32, @new_atk.to_s, 2)
  54.         end
  55.         if @new_pdef != nil
  56.           @color_box[1] = @new_pdef <=> actor.pdef
  57.           self.contents.font.size = 20
  58.           self.contents.font.color = Color.new(0, 0, 0, 255)
  59.           self.contents.draw_text(x, y + 17 + 17, 40, 32, "→", 1)
  60.           self.contents.font.size = 16
  61.           self.contents.font.color = @color_box[1] == -1 ? Color.new(0,255,0) : (@color_box[1] == 1 ? Color.new(255,0,0) : normal_color)
  62.           self.contents.draw_text(x+24, y + 17 + 17, 36, 32, @new_pdef.to_s, 2)
  63.         end
  64.         if @new_mdef != nil
  65.           @color_box[2] = @new_mdef <=> actor.mdef
  66.           self.contents.font.size = 20
  67.           self.contents.font.color = Color.new(0, 0, 0, 255)
  68.           self.contents.draw_text(x, y + 17 + 17 + 17, 40, 32, "→", 1)
  69.           self.contents.font.size = 16
  70.           self.contents.font.color = @color_box[2] == -1 ? Color.new(0,255,0) : (@color_box[2] == 1 ? Color.new(255,0,0) : normal_color)
  71.           self.contents.draw_text(x+24, y + 17 + 17 + 17, 36, 32, @new_mdef.to_s, 2)
  72.         end
  73.       end
  74.     end
  75.   end


  76. #--------------------------------------------------------------------------
  77.   # ● 变更装备后的能力值设置
  78.   #     new_atk  : 变更装备后的攻击力
  79.   #     new_pdef : 变更装备后的物理防御
  80.   #     new_mdef : 变更装备后的魔法防御
  81.   #--------------------------------------------------------------------------
  82.   def set_new_parameters(new_atk, new_pdef, new_mdef)
  83.     if @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef
  84.       @new_atk = new_atk
  85.       @new_pdef = new_pdef
  86.       @new_mdef = new_mdef
  87.       refresh
  88.     end
  89.   end
  90. end
复制代码
在主菜单中Scene_Menu
end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 命令窗口的光标位置分支
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        @equip_index = 0
        @actor = $game_party.actors[@status_window1.index]
        @equip_help_window = Window_Help_New.new
        @equip_help_window.x = 137
        @equip_help_window.y = 480 - 64 - 32 - 8
        @equip_right_window = Window_EquipRight_New.new(@actor)
        @equip_item_window1 = Window_EquipItem_New.new(@actor, 0)
        @equip_item_window2 = Window_EquipItem_New.new(@actor, 1)
        @equip_item_window3 = Window_EquipItem_New.new(@actor, 2)
        @equip_item_window4 = Window_EquipItem_New.new(@actor, 3)
        @equip_item_window5 = Window_EquipItem_New.new(@actor, 4)
        @equip_item_window6 = Window_EquipItem_New.new(@actor, 5)
        @equip_item_window7 = Window_EquipItem_New.new(@actor, 6)
        @equip_item_window8 = Window_EquipItem_New.new(@actor, 7)
        #........................................................................
        @equip_window = Window_Equip.new
        @equip_window.y = 394
        @equip_window.set_item_id
        #........................................................................
        #################
        
        @nengli_window = Window_nengli.new
        #######################
        # 关联帮助窗口
- -在这插入了
、、但是却不知道在哪释放
作者: flzt5354    时间: 2009-8-30 13:13
end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 命令窗口的光标位置分支
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        @equip_index = 0
        @actor = $game_party.actors[@status_window1.index]
        @equip_help_window = Window_Help_New.new
        @equip_help_window.x = 137
        @equip_help_window.y = 480 - 64 - 32 - 8
        @equip_right_window = Window_EquipRight_New.new(@actor)
        @equip_item_window1 = Window_EquipItem_New.new(@actor, 0)
        @equip_item_window2 = Window_EquipItem_New.new(@actor, 1)
        @equip_item_window3 = Window_EquipItem_New.new(@actor, 2)
        @equip_item_window4 = Window_EquipItem_New.new(@actor, 3)
        @equip_item_window5 = Window_EquipItem_New.new(@actor, 4)
        @equip_item_window6 = Window_EquipItem_New.new(@actor, 5)
        @equip_item_window7 = Window_EquipItem_New.new(@actor, 6)
        @equip_item_window8 = Window_EquipItem_New.new(@actor, 7)
        #........................................................................
        @equip_window = Window_Equip.new
        @equip_window.y = 394
        @equip_window.set_item_id
        #........................................................................
        #################
        
        @nengli_window = Window_nengli.new
        #######################
        # 关联帮助窗口
- -在这插入了
、、但是却不知道在哪释放

PS:编辑失败5次了。。
作者: ONEWateR    时间: 2009-8-30 13:19
window_xxx = Window_xxx.new

..................................................................
dbshy 发表于 2009-8-29 22:08


db前辈的答案是绝对的不会蔓延ssd的风气的~ >.<
作者: flzt5354    时间: 2009-8-30 21:19
自己解决了




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