Project1

标题: 绘制人物当前装备的图标 [打印本页]

作者: dujian15    时间: 2012-10-19 17:43
标题: 绘制人物当前装备的图标
本帖最后由 dujian15 于 2012-10-19 17:44 编辑

是这样的,我的菜单如图 我想要在显示小人的地方显示这个小人的基本装备图标,如主手副手 衣服 饰品什么的,大概五个左右。

在Window_MenuStatus这个脚本中,我找到45行左右的地方改动了这些脚本。

改动后如下:
#--------------------------------------------------------------------------
  # ● 绘制项目
  #--------------------------------------------------------------------------
   def draw_item(index)
    actor = $game_party.members[index]
    enabled = $game_party.battle_members.include?(actor)
    rect = item_rect(index)
    draw_item_background(index)
    draw_line(rect) #
    draw_actor_face_half(actor, rect.x + 1, rect.y + 1, enabled)

    draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
    draw_actor_graphic(actor , 410, rect.y + 65 )
  #  draw_icon(actor.equips.icon_index, rect.x + 410, rect.y + 67, enabled)end

  #--------------------------------------------------------------------------
  # * Draw Line
  #--------------------------------------------------------------------------
  def draw_line(rect)
    temp_rect = rect.clone
    temp_rect.height = 2
    temp_rect.width = 25
    contents.gradient_fill_rect(temp_rect, color2, color1)
    temp_rect.y += 72  
    contents.gradient_fill_rect(temp_rect, color2, color1)
     temp_rect.y -= 72  
    temp_rect.x += temp_rect.width
    temp_rect.width *= 2
    contents.fill_rect(temp_rect, color1)
    temp_rect.y += 72
    contents.fill_rect(temp_rect, color1)
    temp_rect.y -= 72
    temp_rect.x += temp_rect.width
    temp_rect.width /= 2
    contents.gradient_fill_rect(temp_rect, color1, color2)
    temp_rect.y += 72
    contents.gradient_fill_rect(temp_rect, color1, color2)
    temp_rect.y -= 72
    temp_rect.height = 74
    temp_rect.width = 250
    temp_rect.x = 209
    contents.gradient_fill_rect(temp_rect, color2, color1)
  end
  #--------------------------------------------------------------------------
  # * Get Color 1
  #--------------------------------------------------------------------------
  def color1
    Color.new(255, 255, 255, 255)
  end
  #--------------------------------------------------------------------------
  # * Get Color 2
  #--------------------------------------------------------------------------
  def color2
    Color.new(255, 255, 255, 0)
  end


标红的位置是我想画图标的位置,请问人物装备图标的数值应该如何返回?dsu_plus_rewardpost_czw
作者: feizhaodan    时间: 2012-10-19 18:36
actor.equips[x].icon_index
x是装备部位ID
记得判定一下有没有装备,若没有装备的时候使用icon_index会报错。
作者: dujian15    时间: 2012-10-20 00:08
feizhaodan 发表于 2012-10-19 18:36
actor.equips[x].icon_index
x是装备部位ID
记得判定一下有没有装备,若没有装备的时候使用icon_index会报 ...

版主大人吉祥。

因为不是一件装备,请问这个X是不是装备的位置代码。

那应该如何判定是否为空?

我先去写装备代码的地方去找找。
作者: dujian15    时间: 2012-10-20 02:13


感谢,现在已经实现了效果,只剩副手武器反向显示,请问从代码的角度如何实现?
作者: feizhaodan    时间: 2012-10-20 09:22
dujian15 发表于 2012-10-20 02:13
感谢,现在已经实现了效果,只剩副手武器反向显示,请问从代码的角度如何实现? ...

反向显示需要用Sprite(精灵)
如果你是用blt的话是没法弄得。或者只是我不会囧
作者: 铅笔描绘的思念    时间: 2012-10-20 15:30
翻了下F1。。。bitmap类有radial_blur(angle, division)的方法angle就是角度。而division是什么???而contents是bitmap类。。。所以 contents.radial_blur(angle, division)之类的试试
作者: dujian15    时间: 2012-10-22 08:33
实在是不会弄了 。。。。。。本来就新接触代码,小修小补还行,大修大补就彻底麻了......
作者: 银翼魔术师    时间: 2013-5-27 22:52
这个UI做的很好啊,有的下载吗




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