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

Project1

 找回密码
 注册会员
搜索

关于光标换行的问题

查看数: 2074 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-2-18 23:25

正文摘要:

本帖最后由 戴迪 于 2017-2-19 00:54 编辑 自己调了装备界面item的列数,改成5行,然后在最后添加了一个移动光标矩形的间距,但是好像不能换行阿- -RUBY 代码复制下载#======== ...

回复

戴迪 发表于 2017-2-19 13:16:53
2357691704 发表于 2017-2-19 12:48
#==============================================================================
# ■ Window_EquipIte ...


谢谢啊!虽然还没试验过,但单看脚本好像没什么问题了。有时间就弄弄
2357691704 发表于 2017-2-19 12:48:23
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Window_EquipItem
  3. #------------------------------------------------------------------------------
  4. #  装备画面、显示浏览变更装备的候补物品的窗口。
  5. #==============================================================================
  6.  
  7. class Window_EquipItem < Window_Selectable
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #     actor      : 角色
  11.   #     equip_type : 装备部位 (0~3)
  12.   #--------------------------------------------------------------------------
  13.   def initialize(actor, equip_type)
  14.     super(160, 256, 640, 224)
  15.     @actor = actor
  16.     @equip_type = equip_type
  17.     @column_max = 5
  18.     refresh
  19.     self.active = false
  20.     self.index = -1
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 获取物品
  24.   #--------------------------------------------------------------------------
  25.   def item
  26.     return @data[self.index]
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 刷新
  30.   #--------------------------------------------------------------------------
  31.   def refresh
  32.     if self.contents != nil
  33.       self.contents.dispose
  34.       self.contents = nil
  35.     end
  36.     @data = []
  37.     # 添加可以装备的武器
  38.     if @equip_type == 0
  39.       weapon_set = $data_classes[@actor.class_id].weapon_set
  40.       for i in 1...50
  41.         if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
  42.           @data.push($data_weapons[i])
  43.         end
  44.       end
  45.     end
  46.     # 添加可以装备的防具
  47.     if @equip_type != 0
  48.       armor_set = $data_classes[@actor.class_id].armor_set
  49.       for i in 1...$data_armors.size
  50.         if $game_party.armor_number(i) > 0 and armor_set.include?(i)
  51.           if $data_armors[i].kind == @equip_type-1
  52.             @data.push($data_armors[i])
  53.           end
  54.         end
  55.       end
  56.     end
  57.     # 添加空白
  58.     @data.push(nil)
  59.     # 生成位图、描绘全部项目
  60.     @item_max = @data.size
  61.     self.contents = Bitmap.new(width - 32, row_max * 32)
  62.     for i in 0...@item_max-1
  63.       draw_item(i)
  64.     end
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ● 项目的描绘
  68.   #     index : 项目符号
  69.   #--------------------------------------------------------------------------
  70.   def draw_item(index)
  71.     item = @data[index]
  72.     x = 4 + index % 5 * (32)
  73.     y = index / 5 * 32
  74.     case item
  75.     when RPG::Weapon
  76.       number = $game_party.weapon_number(item.id)
  77.     when RPG::Armor
  78.       number = $game_party.armor_number(item.id)
  79.     end
  80.     bitmap = RPG::Cache.icon(item.icon_name)
  81.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  82.     self.contents.font.color = normal_color
  83.     #self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  84.     #self.contents.draw_text(x +32 , y, 16, 32, ":", 1)
  85.     self.contents.draw_text(x  , y, 24, 32, number.to_s, 2)
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 刷新帮助文本
  89.   #--------------------------------------------------------------------------
  90.   def update_help
  91.     @help_window.set_text(self.item == nil ? "" : self.item.description)
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● 刷新光标矩形
  95.   #--------------------------------------------------------------------------
  96.   def update_cursor_rect
  97.     self.cursor_rect.set(@index * 32,0 , 32, 32)
  98.     if @index == -1
  99.          self.cursor_rect.set(0,0, 0, 0)
  100.     elsif @index > 4 and @index <= 9
  101.      self.cursor_rect.set( (@index - 5 )* 32,32 , 32, 32)
  102.    elsif @index > 9 and @index <= 14
  103.       self.cursor_rect.set( (@index- 10 )* 32,64 , 32, 32)
  104.     elsif @index > 14 and @index <= 19
  105.       self.cursor_rect.set( (@index- 15 )* 32,96 , 32, 32)
  106.     elsif @index > 19 and @index <= 24
  107.       self.cursor_rect.set( (@index- 20 )* 32,128 , 32, 32)
  108.     elsif @index > 24
  109.       self.cursor_rect.set( 24 * 32,128 , 32, 32)
  110.       @index -= 1
  111.       end
  112.   end
  113. end

评分

参与人数 1星屑 +90 收起 理由
RyanBern + 90 塞糖

查看全部评分

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

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

GMT+8, 2024-11-11 13:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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