Project1
标题:
请教地图金钱的问题
[打印本页]
作者:
a6363635
时间:
2011-5-19 15:19
标题:
请教地图金钱的问题
本帖最后由 a6363635 于 2011-5-19 20:39 编辑
# 生成显示变量窗口
@var_window = Window_MapVar.new
# 执行过渡
Graphics.transition
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
# 刷新画面
update
# 如果画面切换的话就中断循环
if $scene != self
break
end
end
# 准备过渡
Graphics.freeze
# 释放活动块
@spriteset.dispose
# 释放信息窗口
@message_window.dispose
# 释放显示变量窗口
@var_window.dispose
复制代码
这个就是调用的,该怎么设置呢
#==============================================================================
# ◎ Window_MapVar
#------------------------------------------------------------------------------
# ◎ 地图右下显示变量窗口
#------------------------------------------------------------------------------
# 制作者:绿梨子红苹果
# 个人主页:vbgm.9126.com
# E-Mail:
[email protected]
# QQ:42378361
#==============================================================================
class Window_MapVar < Window_Base
#--------------------------------------------------------------------------
# ● 初始化窗口
#--------------------------------------------------------------------------
def initialize
# 在这里设定窗口的位置啦(x,y,宽,高),记住要为窗口框架留上下左右各16象素。
# 默认一个字符的宽和高只有20左右的,这里单位为“金”,加上8位数字。
super(480,420,160,60)
# 窗口的不透明度(0 ~ 255)。范围外的数值会自动修正。
# 注:255为不透明,0为完全透明……这个参数为零则只显示窗口内容而没有窗口,
# 实际上这样做不如不载入窗口背景图,更加节约内存……不过比较麻烦就是。
self.opacity=64
# 窗口背景的不透明度(0 ~ 255)。范围外的数值会自动修正。
# 注:就是窗口那个蓝色的背景啦……受上面参数影响
self.back_opacity=128
# 窗口内容的不透明度(0 ~ 255)。范围外的数值会自动修正。
# 注:窗口内的文字等内容,除非你是想画个空窗口,否则千万不要设0。
self.contents_opacity=255
# 这个不用管他,必定要写的
self.contents = Bitmap.new(width - 32, height - 32)
# 建立记录变量原始值,用于判断变量值是否改变,一定要保证不会是变量原来的值
@var_value_old = -1
# 载入想要显示的图片就可以了,这里推荐是24*24的标准RM图标
@var_icon = Bitmap.new("Graphics/Icons/035-Item04")
refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
# 在这里加上判断语句,就可以完成变量值改变才刷新的效果,节约资源
if @var_value_old==$game_party.gold then
return
end
# 先清空内容啦
self.contents.clear
# 计算系统data里金钱单位的字符宽度
cx = contents.text_size($data_system.words.gold).width
# 设定字色为白色。生成RGB颜色参数(红,绿,蓝),这个不用我来说吧...
self.contents.font.color = Color.new(255,255,255)
# 绘制金钱数字。记住要用“.to_s”将数字转换为字符!
# 注:这里24是留着画24*24图标的,104表示所有字符总宽
self.contents.draw_text(24, 0, 104-cx, 28, $game_party.gold.to_s, 2)
# 设定字色为金色
self.contents.font.color = Color.new(255,255,0)
# 绘制金钱单位。
# 注:128=160(窗口宽)-32
self.contents.draw_text(128-cx, 0, cx, 28, $data_system.words.gold)
# 最后画上需要的图标就可以啦,blt方法详见RM帮助文档啦...
self.contents.blt(0, 2, @var_icon, Rect.new(0, 0, 24, 24))
end
end
复制代码
这是地图金钱显示的脚本,并无错误,我也能正常使用。只是我想知道怎么给他设个开关,我想让他什么时候显示就
什么时候显示。因为我是用事件做的标题。所以在出现标题的时候这个窗口也出现了,所以我该怎么做呢? dsu_plus_rewardpost_czw
作者:
kinguanghua
时间:
2011-5-19 17:13
这个脚本里只是窗口的类 所以问题不在这个脚本 而是在调用这个脚本的部分
楼主最好全局搜索一下Ctrl+Shift+F然后搜索Window_MapVar.new
然后那个部分的脚本才是调用部分 把这部分弄出来大家才能帮忙解答的
作者:
镜花水月
时间:
2011-5-19 18:49
标题:
null
在46行下面加个开关分歧
作者:
a6363635
时间:
2011-5-19 20:36
回复
kinguanghua
的帖子
好的,我试试看
作者:
flyfairy
时间:
2011-5-25 20:53
if 开关[x] == true
@var_window.visible = true
else
@var_window.visible = false
end
作者:
h907308901
时间:
2011-5-26 13:02
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
# 用开关控制是否可见
self.visible = $game_switches[开关编号]
# 在这里加上判断语句,就可以完成变量值改变才刷新的效果,节约资源
if @var_value_old==$game_party.gold then
return
end
# 先清空内容啦
self.contents.clear
# 计算系统data里金钱单位的字符宽度
cx = contents.text_size($data_system.words.gold).width
# 设定字色为白色。生成RGB颜色参数(红,绿,蓝),这个不用我来说吧...
self.contents.font.color = Color.new(255,255,255)
# 绘制金钱数字。记住要用“.to_s”将数字转换为字符!
# 注:这里24是留着画24*24图标的,104表示所有字符总宽
self.contents.draw_text(24, 0, 104-cx, 28, $game_party.gold.to_s, 2)
# 设定字色为金色
self.contents.font.color = Color.new(255,255,0)
# 绘制金钱单位。
# 注:128=160(窗口宽)-32
self.contents.draw_text(128-cx, 0, cx, 28, $data_system.words.gold)
# 最后画上需要的图标就可以啦,blt方法详见RM帮助文档啦...
self.contents.blt(0, 2, @var_icon, Rect.new(0, 0, 24, 24))
end
end
复制代码
作者:
1348279325
时间:
2011-5-26 18:57
如果是想改变名字就去数据库最后一处修改,如果是改样式的话可以自己制作素材然后在传上去就可以了,不需要脚本
作者:
zx16589042
时间:
2011-5-27 17:16
既然在地图中显示那你在 scene_map 中那个几个地方加开关
if 开关[x] == true
@var_window.visible = true
else
@var_window.visible = false
end
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1