幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5151|回复: 18

在物品说明窗口里显示90X90物品图标.虽然简单好像没人做所

[复制链接]

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

发表于 2004-10-9 12:25:29 | 显示全部楼层 |阅读模式
偶素新手...不要笑偶...[em04]

window_base里修改.

#--------------------------------------------------------------------------
  # ● 描绘物品名(去掉显示小图标)
  #     item : 物品
  #     x    : 描画目标 X 坐标
  #     y    : 描画目标 Y 坐标
  #--------------------------------------------------------------------------
  def draw_item_name(item, x, y)
    if item == nil
      return
    end
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 28, y, 212, 32, item.name)
  end
end

#--自行添加-----------------------------------------------
# ● 自定义物品图片
#-------------------------------------------------
def draw_item_picture(item,x,y)
  if item==nil
    return
  end
   bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x+4, y, bitmap, Rect.new(0, 0, 100, 100))
end

window_help里面

class Window_Help < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像(修改说明窗口大小)
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 640, 132)
    self.contents = Bitmap.new(width - 32, height - 32)
  end
  #--------------------------------------------------------------------------
  # ● 设置文本(改为中间对齐)
  #     text  : 窗口显示的字符串
  #     align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
  #--------------------------------------------------------------------------
  def set_text(text, align = 1)
    # 如果文本和对齐方式的至少一方与上次的不同
    if text != @text or align != @align
      # 再描绘文本
      self.contents.clear
      self.contents.font.color = normal_color
      self.contents.draw_text(0, 0, self.width - 40, 32, text, align)
      @text = text
      @align = align
      @actor = nil
    end
    self.visible = true
  end

#--自行添加-----------------------------------------------
  # ● 显示物品图片
  #     item : 要显示图片的物品
  #--------------------------------------------------------------------------
def set_picture(item)
   if item != @item
  draw_item_picture(item,0,0)
  @item= nil
  end
    self.visible = true
  end


window_item

class Window_Item < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化对像(改变物品窗口大小和位置)
  #--------------------------------------------------------------------------
  def initialize
    super(0, 132, 640, 348)
    @column_max = 2
    refresh
    self.index = 0
    # 战斗中的情况下将窗口移至中央并将其半透明化
    if $game_temp.in_battle
      self.y = 132
      self.height = 188
      self.back_opacity = 160
    end
  end
  #--------------------------------

#--------------------------------------------------------------------------
  # ● 描绘项目(去掉显示小图标)
  #     index : 项目编号
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    if item.is_a?(RPG::Item) and
       $game_party.item_can_use?(item.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, "x", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  end
  #--------------------------------------------------------------------------
  # ● 刷新帮助文本(添加一行显示图标)
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
    @help_window.set_picture(self.item)
  end
end

下面是效果...



Window_EquipItem还没修改...|||= =不过差不多啦....

问题!

存档里显示的人物实际上是静止图片截一部分下来...希望像轩三那样,被选择的存档人物就会走动...或者交替显示两张图片,或者是直接改写成行走动画(反正偶都不会...)...希望高手指教!


[此贴子已经被作者于2004-10-9 12:30:59编辑过]

本帖子中包含更多资源

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

x
http://www.nvlmaker.net/
回复

使用道具 举报

16

主题

289

帖子

4162

积分

⑥精研

~鼻涕牛牛~

积分
4162
QQ
发表于 2004-10-9 16:18:05 | 显示全部楼层
支持!!~~图片RO的?
哎哟——是蜗牛壳壳拉~~~
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

 楼主| 发表于 2004-10-9 16:26:44 | 显示全部楼层
笑,是哦,忽然想起来测试的图片用的是蜗牛殿提供的RO素材...大感谢一个!
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

3

主题

18

帖子

449

积分

④见习

积分
449
发表于 2004-10-9 18:13:30 | 显示全部楼层
问题解答。
在本来的 Window_SaveFile 未尾加入以下。

class Window_SaveFile < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     file_index : 存档文件的索引 (0~3)
  #     filename   : 文件名
  #--------------------------------------------------------------------------
  alias org_initialize initialize
  def initialize(file_index, filename)
    org_initialize(file_index, filename)
    @frame = 0
    # 每一个动作的暂缓时间(FRAME)
    @wait_frame = 5
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    super
    # 存档文件存在的情况下
    if @file_exist
      # 现在是哪一个动作?
      @frame += 1
      @frame %= @wait_frame * 4
      # 不是选择中的就不动
      unless @selected then
        @frame = 0
      end
      # 描绘角色
      for j in 0...@characters.size
        bitmap = RPG::Cache.character(@characters[j][0], @characters[j][1])
        cw = bitmap.rect.width / 4
        ch = bitmap.rect.height / 4
        sx = @frame / @wait_frame * cw
        src_rect = Rect.new(sx, 0, cw, ch)
        x = 300 - @characters.size * 32 + j * 64 - cw / 2
        self.contents.fill_rect(x, 68 - ch, cw, ch, Color.new(0, 0, 0, 0))
        self.contents.blt(x, 68 - ch, bitmap, src_rect)
      end
    end
  end
end

[此贴子已经被作者于2004-10-10 14:00:13编辑过]
#1.某R的RMXP遊玩記事,但其實沒寫Blog的習慣… #2.處女作製作中…停在劇本的階段。 orz #3.永遠的OPEN SOURCE。
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

 楼主| 发表于 2004-10-9 22:11:56 | 显示全部楼层
多谢,不过运行的时候会出现错误...|||



本帖子中包含更多资源

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

x
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

5

主题

90

帖子

1049

积分

⑥精研

NY极恶党首席苦力

积分
1049
发表于 2004-10-10 11:29:49 | 显示全部楼层
检查一下Window_SaveFile第123行所在的函数的所有返回点,ruby的一个特性是默认把最后一个表达式作为返回值
函数返回的应该是string,而函数什么也没返回就结束了,ruby就会把离返回点最近的一个表达式返回,看样子这个表达式是Array类型的~~
毋意,毋必,毋固,毋我
回复 支持 反对

使用道具 举报

3

主题

18

帖子

449

积分

④见习

积分
449
发表于 2004-10-10 14:04:42 | 显示全部楼层
以下是引用omnislash在2004-10-10 11:29:49的发言:

检查一下Window_SaveFile第123行所在的函数的所有返回点,ruby的一个特性是默认把最后一个表达式作为返回值

函数返回的应该是string,而函数什么也没返回就结束了,ruby就会把离返回点最近的一个表达式返回,看样子这个表达式是Array类型的~~

好像和返回沒有關係…
其實是有兩個字在發上來的時候消失了…(逃)
======
現在重新加入一次應該好了…(吧)
#1.某R的RMXP遊玩記事,但其實沒寫Blog的習慣… #2.處女作製作中…停在劇本的階段。 orz #3.永遠的OPEN SOURCE。
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

 楼主| 发表于 2004-10-10 14:28:55 | 显示全部楼层
以下是引用RoyRoy在2004-10-10 14:04:42的发言:
>
好像和返回沒有關係…
其實是有兩個字在發上來的時候消失了…(逃)

======
現在重新加入一次應該好了…(吧)


用原版的素没问题了...

(小声)可是某那个不幸改成过那个99存档的RGSS...|||冲突...|||

本帖子中包含更多资源

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

x
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

3

主题

18

帖子

449

积分

④见习

积分
449
发表于 2004-10-10 16:42:05 | 显示全部楼层
以下是引用CountD在2004-10-10 14:28:55的发言:
>


用原版的素没问题了...

(小声)可是某那个不幸改成过那个99存档的RGSS...|||冲突...|||
[upload=jpg]UploadFile/2004-10/20041010142749968.jpg[/upload]



http://bbs.rpgchina.com/dispbbs.asp?boardID=37&ID=4990&page=3
↑是這一個吧?

改這裡
  def initialize(file_index,head_index, filename)
    org_initialize(file_index,head_index, filename)


[此贴子已经被作者于2004-10-10 16:42:36编辑过]
#1.某R的RMXP遊玩記事,但其實沒寫Blog的習慣… #2.處女作製作中…停在劇本的階段。 orz #3.永遠的OPEN SOURCE。
回复 支持 反对

使用道具 举报

122

主题

3954

帖子

24万

积分

超级版主

传说中的Bunny坑神~!

Rank: 8Rank: 8

积分
244543

声命组铜赏

 楼主| 发表于 2004-10-10 16:56:42 | 显示全部楼层
嗯嗯,好了~万分感谢啊!(星星眼闪闪亮)
http://www.nvlmaker.net/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-21 07:01 , Processed in 0.013461 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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