赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 7406 |
最后登录 | 2014-8-6 |
在线时间 | 15 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 15 小时
- 注册时间
- 2007-2-25
- 帖子
- 244
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
经过了几天的摸索,RGSS总算是理出点头绪来了,想必很多人对游戏默认没有进度条感到怨念,我就是其中一个。所以本人改造脚本的第一刀就砍向这里了。
以下是脚本:
- #=================================================
- # ■ SkinedBar
- #------------------------------------------------------------------------------
- # 带有皮肤的进度条
- # Young.G.K出品,转载请注明出处
- # 2008年9月29日
- #------------------------------------------------------------------------------
- class SkinedBar
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize(skinpath,barpath,barrect,minValue=0,maxValue = 100)
- @skin = Bitmap.new(skinpath)
- @bar = Bitmap.new(barpath)
- @minValue = minValue
- @maxValue = maxValue
- @outBmp = Bitmap.new(@skin.width,@skin.height)
- @barrect = barrect
- @huemin = 0
- @huemax = 0
- end
- #--------------------------------------------------------------------------
- # ● 设定色相
- #--------------------------------------------------------------------------
- def sethue(huemin,huemax)
- @huemin = huemin
- @huemax = huemax
- end
- #--------------------------------------------------------------------------
- # ● 输出
- #--------------------------------------------------------------------------
- def output(value)
- rate = (value - @minValue + 0.0)/ ( @maxValue - @minValue )
- @bar.hue_change ((rate - 1.0) * (@huemax - @huemin))
- rect = Rect.new(@barrect.x, @barrect.y, @barrect.width * rate, @barrect.height)
- @skin.stretch_blt(rect,@bar,@bar.rect)
- return @skin
- end
- end
复制代码
使用方法:
barHP = SkinedBar.new("Graphics/Pictures/HPSkin.png", "Graphics/Pictures/HP.png",Rect.new(12,5,66,6),0,actor.maxhp)
#这条语句的作用是建立一个带皮肤的进度条,参数说明:"Graphics/Pictures/HPSkin.png"指的是进度条的皮肤;"Graphics/Pictures/HP.png"指的是血条本身对应的图片,注意:在本脚本里,这张图片是要被横向拉伸的;Rect.new(12,5,66,6)指构造一个矩形,这个矩形是血条在皮肤上的位置,坐标是相对于皮肤图片而言的;最后两个参数就是进度条所对应的最小值和最大值。
barHP.sethue(-145,0)
#这条语句的作用是设置最小值和最大值时的色相,参见魔兽争霸的可变色血条
bmpBar=barHP.output(actor.hp)
#这条语句用于将混合好的进度条图片输出,参数表示当前进度条所对应的值
第一次尝试RGSS脚本编写,有很多不足,希望高手指点。如有不解,直接留言就行了
效果截图:
皮肤只是简单的画了一下
点此处下载范例工程:
http://rpg.blue/upload_program/g ... ��条_103223827.rar |
|