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

Project1

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

[已经解决] 请教地图金钱的问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
51 小时
注册时间
2011-4-23
帖子
54
跳转到指定楼层
1
发表于 2011-5-19 15:19:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 a6363635 于 2011-5-19 20:39 编辑
  1. # 生成显示变量窗口
  2.     @var_window = Window_MapVar.new
  3.     # 执行过渡
  4.     Graphics.transition
  5.     # 主循环
  6.     loop do
  7.       # 刷新游戏画面
  8.       Graphics.update
  9.       # 刷新输入信息
  10.       Input.update
  11.       # 刷新画面
  12.       update
  13.       # 如果画面切换的话就中断循环
  14.       if $scene != self
  15.         break
  16.       end
  17.     end
  18.     # 准备过渡
  19.     Graphics.freeze
  20.     # 释放活动块
  21.     @spriteset.dispose
  22.     # 释放信息窗口
  23.     @message_window.dispose
  24.     # 释放显示变量窗口
  25.      @var_window.dispose
复制代码

  1. 这个就是调用的,该怎么设置呢
  2. #==============================================================================
  3. # ◎ Window_MapVar
  4. #------------------------------------------------------------------------------
  5. # ◎ 地图右下显示变量窗口
  6. #------------------------------------------------------------------------------
  7. # 制作者:绿梨子红苹果
  8. # 个人主页:vbgm.9126.com
  9. # E-Mail:[email protected]
  10. # QQ:42378361
  11. #==============================================================================

  12. class Window_MapVar < Window_Base
  13. #--------------------------------------------------------------------------
  14. # ● 初始化窗口
  15. #--------------------------------------------------------------------------
  16. def initialize
  17.    
  18.    # 在这里设定窗口的位置啦(x,y,宽,高),记住要为窗口框架留上下左右各16象素。
  19.    # 默认一个字符的宽和高只有20左右的,这里单位为“金”,加上8位数字。
  20.    super(480,420,160,60)
  21.    
  22.    # 窗口的不透明度(0 ~ 255)。范围外的数值会自动修正。
  23.    # 注:255为不透明,0为完全透明……这个参数为零则只显示窗口内容而没有窗口,
  24.    # 实际上这样做不如不载入窗口背景图,更加节约内存……不过比较麻烦就是。
  25.    self.opacity=64
  26.    # 窗口背景的不透明度(0 ~ 255)。范围外的数值会自动修正。
  27.    # 注:就是窗口那个蓝色的背景啦……受上面参数影响
  28.    self.back_opacity=128
  29.    # 窗口内容的不透明度(0 ~ 255)。范围外的数值会自动修正。
  30.    # 注:窗口内的文字等内容,除非你是想画个空窗口,否则千万不要设0。
  31.    self.contents_opacity=255

  32.    # 这个不用管他,必定要写的
  33.    self.contents = Bitmap.new(width - 32, height - 32)
  34.    
  35.    # 建立记录变量原始值,用于判断变量值是否改变,一定要保证不会是变量原来的值
  36.    @var_value_old = -1
  37.    # 载入想要显示的图片就可以了,这里推荐是24*24的标准RM图标
  38.    @var_icon = Bitmap.new("Graphics/Icons/035-Item04")
  39.    
  40.    refresh
  41. end
  42. #--------------------------------------------------------------------------
  43. # ● 刷新
  44. #--------------------------------------------------------------------------
  45. def refresh
  46.    # 在这里加上判断语句,就可以完成变量值改变才刷新的效果,节约资源
  47.    if @var_value_old==$game_party.gold then
  48.      return
  49.    end
  50.    # 先清空内容啦
  51.    self.contents.clear
  52.    # 计算系统data里金钱单位的字符宽度
  53.    cx = contents.text_size($data_system.words.gold).width
  54.    # 设定字色为白色。生成RGB颜色参数(红,绿,蓝),这个不用我来说吧...
  55.    self.contents.font.color = Color.new(255,255,255)
  56.    # 绘制金钱数字。记住要用“.to_s”将数字转换为字符!
  57.    # 注:这里24是留着画24*24图标的,104表示所有字符总宽
  58.    self.contents.draw_text(24, 0, 104-cx, 28, $game_party.gold.to_s, 2)
  59.    # 设定字色为金色
  60.    self.contents.font.color = Color.new(255,255,0)
  61.    # 绘制金钱单位。
  62.    # 注:128=160(窗口宽)-32
  63.    self.contents.draw_text(128-cx, 0, cx, 28, $data_system.words.gold)
  64.    # 最后画上需要的图标就可以啦,blt方法详见RM帮助文档啦...
  65.    self.contents.blt(0, 2, @var_icon, Rect.new(0, 0, 24, 24))
  66. end
  67. end
复制代码
这是地图金钱显示的脚本,并无错误,我也能正常使用。只是我想知道怎么给他设个开关,我想让他什么时候显示就
什么时候显示。因为我是用事件做的标题。所以在出现标题的时候这个窗口也出现了,所以我该怎么做呢?

Lv1.梦旅人

梦石
0
星屑
205
在线时间
127 小时
注册时间
2005-10-23
帖子
78
2
发表于 2011-5-19 17:13:35 | 只看该作者
这个脚本里只是窗口的类 所以问题不在这个脚本 而是在调用这个脚本的部分
楼主最好全局搜索一下Ctrl+Shift+F然后搜索Window_MapVar.new
然后那个部分的脚本才是调用部分 把这部分弄出来大家才能帮忙解答的
世界不会在意你的自尊,人们看的只是你的成就。在你没有成就以前,切勿过分强调自尊。
[b]本人姓名:异界的月[/b]
[b]空之轨迹菜单系列[/b]
2.01版增加任务菜单 地址[url=http://rpg.blue/viewthread.php?tid=135748&extra=page%3D1]http://rpg.blue/viewthread.php?tid=135748&extra=page%3D1[/url]
1.00版地址[url=http://rpg.blue/viewthread.php?tid=129463&extra=page%3D1]http://rpg.blue/viewthread.php?tid=129463&extra=page%3D1[/url]
[b]转投希艾拉工作室当脚本师,龟速制作中[/b]
[b]转职为三次元苦逼渣渣程序员[/b]
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
169 小时
注册时间
2011-1-5
帖子
92
3
发表于 2011-5-19 18:49:44 | 只看该作者

null

在46行下面加个开关分歧
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
51 小时
注册时间
2011-4-23
帖子
54
4
 楼主| 发表于 2011-5-19 20:36:38 | 只看该作者
回复 kinguanghua 的帖子

好的,我试试看
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
122 小时
注册时间
2009-6-12
帖子
73
5
发表于 2011-5-25 20:53:34 | 只看该作者
if 开关[x] == true
  @var_window.visible = true
else
  @var_window.visible = false
end
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
43 小时
注册时间
2010-7-18
帖子
14
6
发表于 2011-5-26 13:02:50 | 只看该作者
  1. #--------------------------------------------------------------------------

  2. # ● 刷新

  3. #--------------------------------------------------------------------------

  4. def refresh

  5.    # 用开关控制是否可见

  6.    self.visible = $game_switches[开关编号]

  7.    # 在这里加上判断语句,就可以完成变量值改变才刷新的效果,节约资源

  8.    if @var_value_old==$game_party.gold then

  9.      return

  10.    end

  11.    # 先清空内容啦

  12.    self.contents.clear

  13.    # 计算系统data里金钱单位的字符宽度

  14.    cx = contents.text_size($data_system.words.gold).width

  15.    # 设定字色为白色。生成RGB颜色参数(红,绿,蓝),这个不用我来说吧...

  16.    self.contents.font.color = Color.new(255,255,255)

  17.    # 绘制金钱数字。记住要用“.to_s”将数字转换为字符!

  18.    # 注:这里24是留着画24*24图标的,104表示所有字符总宽

  19.    self.contents.draw_text(24, 0, 104-cx, 28, $game_party.gold.to_s, 2)

  20.    # 设定字色为金色

  21.    self.contents.font.color = Color.new(255,255,0)

  22.    # 绘制金钱单位。

  23.    # 注:128=160(窗口宽)-32

  24.    self.contents.draw_text(128-cx, 0, cx, 28, $data_system.words.gold)

  25.    # 最后画上需要的图标就可以啦,blt方法详见RM帮助文档啦...

  26.    self.contents.blt(0, 2, @var_icon, Rect.new(0, 0, 24, 24))

  27. end

  28. end
复制代码
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
114 小时
注册时间
2011-5-5
帖子
326
7
发表于 2011-5-26 18:57:51 | 只看该作者
如果是想改变名字就去数据库最后一处修改,如果是改样式的话可以自己制作素材然后在传上去就可以了,不需要脚本
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
164 小时
注册时间
2010-6-19
帖子
289
8
发表于 2011-5-27 17:16:35 | 只看该作者
既然在地图中显示那你在 scene_map 中那个几个地方加开关
if 开关[x] == true
  @var_window.visible = true
else
  @var_window.visible = false
end
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-21 11:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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