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

Project1

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

- -物品窗口显示图片再一次请求帮忙~~

 关闭 [复制链接]

Lv5.捕梦者

梦石
0
星屑
40018
在线时间
5813 小时
注册时间
2006-11-10
帖子
6690
跳转到指定楼层
1
发表于 2008-7-30 04:09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
根据亿万星辰前辈的装备大图脚本改的显示物品大图脚本http://rpg.blue/web/htm/news279.htm
先帖自己加的脚本
  1. module RPG
  2. class Item
  3.     def name
  4.       name = @name.split(/@/)[0]
  5.       return name != nil ? name : ''
  6.     end
  7.     def pic_name
  8.       pic_name = @name.split(/@/)[1]
  9.       return pic_name != nil ? pic_name : ""
  10.     end
  11.   end
  12. end
  13. class Window_Itempic < Window_Base
  14. def initialize
  15.    super(0,0,320,416)
  16.    self.contents = Bitmap.new(width-32, height-32)
  17.    @item = nil
  18.    refresh
  19. end
  20. def refresh
  21.    self.contents.clear
  22.    if @item != nil
  23.      bitmap = RPG::Cache.picture(@item.pic_name)
  24.      pic_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  25.      self.contents.blt(0, 0, bitmap, pic_rect)
  26.    end
  27. end
  28. def set_item(item)
  29.     @item = item
  30. end
  31. end
复制代码


根据IamI君的指导~,将刷新部分和set部分分开(其实完全照抄了亿万星辰前辈的装备大图脚本了囧)

然后在Scene_Item中修改
  1. class Scene_Item
  2.   #--------------------------------------------------------------------------
  3.   # ● 主处理
  4.   #--------------------------------------------------------------------------
  5.   def main
  6.     # 生成帮助窗口、物品窗口
  7.     @help_window = Window_Help.new
  8.     @item_window = Window_Item.new
  9.     @item_tu = Window_Itempic.new
  10.     @item_tu.x = 320
  11.     @item_tu.y = 64
  12.     # 关联帮助窗口
  13.     @item_window.help_window = @help_window
  14.     # 生成目标窗口 (设置为不可见・不活动)
  15.     @target_window = Window_Target.new
  16.     @target_window.visible = false
  17.     @target_window.active = false
  18.     # 执行过度
  19.     Graphics.transition
  20.     # 主循环
  21.     loop do
  22.       # 刷新游戏画面
  23.       Graphics.update
  24.       # 刷新输入信息
  25.       Input.update
  26.       # 刷新画面
  27.       update
  28.       # 如果画面切换就中断循环
  29.       if $scene != self
  30.         break
  31.       end
  32.     end
  33.     # 装备过渡
  34.     Graphics.freeze
  35.     # 释放窗口
  36.     @help_window.dispose
  37.     @item_window.dispose
  38.     @target_window.dispose
  39.     ###########################
  40.     @item_tu.dispose
  41.     ###########################
  42.   end
  43.   #################################
  44.   def refresh
  45.     item = @item_window.item
  46.     @item_tu.set_item(item)
  47.   end
  48.   ##################################
  49.   #--------------------------------------------------------------------------
  50.   # ● 刷新画面
  51.   #--------------------------------------------------------------------------
  52.   def update
  53.     # 刷新窗口
  54.     @help_window.update
  55.     @item_window.update
  56.     @target_window.update
  57.     #####################
  58.     @item_tu.refresh
  59.     #####################
  60.     # 物品窗口被激活的情况下: 调用 update_item
  61.     if @item_window.active
  62.       update_item
  63.       return
  64.     end
  65.     # 目标窗口被激活的情况下: 调用 update_target
  66.     if @target_window.active
  67.       update_target
  68.       return
  69.     end
  70.   end
复制代码


可是...这样还是显示不出来...我囧了...按我的理解这样和亿万前辈的应该一样了...可是为什么不能显示大图呢....请问下,我错在哪里~~~

工程:http://rpg.blue/upload_program/files/zb+djdt_97790951.rar
版务信息:本贴由楼主自主结贴~
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-30
帖子
95
2
发表于 2008-7-30 04:13:54 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
3
发表于 2008-7-30 04:20:38 | 只看该作者
在@item_tu.refresh前家一句refresh
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
40018
在线时间
5813 小时
注册时间
2006-11-10
帖子
6690
4
 楼主| 发表于 2008-7-30 04:27:08 | 只看该作者
以下引用dbshy于2008-7-29 20:20:38的发言:

在@item_tu.refresh前家一句refresh


[本贴由作者于 2008-7-29 20:21:24 最后编辑]


= = 前加?

其实我已经加上了,
#################################
  def refresh
    item = @item_window.item
    @item_tu.set_item(item)
  end
  ##################################
还是要这样写?  refresh.@item_tu.refresh  (@_@)
或者是把它塞到def refresh里面?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
5
发表于 2008-7-30 04:29:22 | 只看该作者
def update
    # 刷新窗口
    @help_window.update
    @item_window.update
    @target_window.update
    refresh
    #####################
    @item_tu.refresh
    #####################
    # 物品窗口被激活的情况下: 调用 update_item
    if @item_window.active
      update_item
      return
    end
    # 目标窗口被激活的情况下: 调用 update_target
    if @target_window.active
      update_target
      return
    end
  end

请LZ还是理解原理在来编吧
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
40018
在线时间
5813 小时
注册时间
2006-11-10
帖子
6690
6
 楼主| 发表于 2008-7-30 04:35:18 | 只看该作者
以下引用dbshy于2008-7-29 20:29:22的发言:
请LZ还是理解原理在来编吧


= =是可以了....

说实话,我不明白 update和refresh 的区别~~

这个也是我第一次写类似的脚本(-。-其实是因为那个任务活动 + 以为可以画葫芦就行了)

脚本全是按照亿万前辈的原本画葫芦的。(尝试过自己编,可是失败- -)

那,麻烦解释一下update和refresh 的区别好么-。-。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
7
发表于 2008-7-30 04:59:56 | 只看该作者
懒得打字 = =
自己去看
http://rpg.blue/viewthread.php?tid=79667

或者好好看Window_Gold Window_PlayTime
然后在看SCENEZ中的MAIN 和 UPDATE
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2025-8-10 04:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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