ns学习心得--血条的做法
*definedefaultfont "幼圆"
game
*start
bg #006699,10,300
setwindow 30,400,25,2,22,22,0,2,40,0,1,#666666,20,396,619,470
在金山快译神奇的翻译帮助下(真得很神奇啊~)\
我新学会了一组命令的使用,\
就是用bar命令和prnum命令来做血条。\
第一时间和大家分享一下心得。\
试验开始……\
mov %100,150;设%100为hp的max值,数值是150
lsp 1,":s/22,22,1;#ffffff血条试验",300,300
print 1
;bar这个命令的作用是在屏幕上显示一个纯色块(条块对象),书写的格式是:
;bar 编号数字,当前长度,左上角x坐标,y坐标,长度,宽度,总长度,颜色
;其中长度的两个参数是以比例的形式来表示的,假如设总长度为10,当前长度为4的话,条块显示的长度就为总长的2/5,这样子。
;需要用print命令来显示。
bar 0,1,36,296,108,38,1,#cc9933;血槽边框
bar 1,1,38,298,104,34,1,#ffffdd;血槽边框
bar 2,1,40,300,100,30,1,#cc9933;血槽底图边框
bar 3,1,40,302,100,26,1,#ffdd11;血槽底图
;以上都是装饰,就让它们这么待着就行了,下面这个是会动的血条……其实也没什么区别……汗……
bar 99,%100,40,300,100,30,%100,#ff4444;血槽满血状态
;prnum这个命令是用来显示数字的,可以显示0-999之间的数值,命令的格式是:
;prnum 编号数字,欲显示的数值,左上角x坐标,y坐标,字宽,字高,颜色
;也需要用print命令来显示。
prnum 0,%100,105,340,16,16,#ffffff;hp的max值
prnum 1,%100,30,340,16,16,#ffffff;hp的当前值
lsp 2,":s/16,16,1;#ffffff/",85,340
print 10,500
click
quake 2,100
攻击命中!!\
rnd2 %1,30,50;设%1为伤害值,数值为30-50之间随机
降低hp%1点。\
prnum 1,%100-%1,30,340,16,16,#ffdd66;hp的当前值改变了,顺便也变了一下颜色。
bar 99,150-%1,40,300,100,30,%100,#ff4444;当前长度设为剩余hp,血条长度就会随着伤害的数值改变。
print 7,500
click
以上就是利用bar命令和prnum命令来做血条的方法了。\
增加bar的数目还可以做更多的美化。\
我不知道bar对象的上限是多少……\
如果没有上限的话我很想试试用n万个一像素大的bar画人物头像试试看……\
……妄想啊……\
(似乎上限是99,也就是用来做做边框了)\
当然血条的王道做法还是图片遮挡+移动,更华丽更自由……\
但是条块方便又不占资源……想想用什么方法能做出更多的特效吧。\
…… ……\
为什么……好像有点奇怪的感觉……?\
[旁人]:废柴,还不会做战斗的人研究血条干什么?\
……@……@……呜~~……
(被说到痛处,泪奔~)\
end
--------------------------------------------------------------------------------
竟然加精了,很受鼓舞阿~~~^o^/
再补充一个纯用条块写出来的比较华丽的血条效果,加上了闪光和残影。这种血条再配上图片边框,嗯,感觉上很像那么回事了,对吧?^-^
*define
defaultfont "幼圆"
game
*start
bg #006699,10,300
setwindow 30,400,25,2,22,22,0,2,40,0,1,#666666,20,396,619,470
lsp 1,":s/22,22,1;#ffffff比较华丽的血条",300,300
print 1
bar 0,1,36,296,108,38,1,#cc9933;血槽边框
bar 1,1,38,298,104,34,1,#ffffdd;血槽边框高光
bar 2,1,40,300,100,30,1,#cc9933;血槽边框阴影
bar 3,1,40,302,100,26,1,#ffdd11;血槽底图
bar 88,1,40,302,100,26,1,#cc6699;血条阴影
bar 89,1,40,301,100,28,1,#ffeeee;闪光
bar 90,1,40,300,100,30,1,#ff4444;血条
bar 91,1,42,306,96,18,1,#ff8888;高光
bar 92,1,44,311,92,8,1,#ffaaaa;第二层高光
bar 93,1,45,314,90,2,1,#ffeeee;最亮部
print 10,500
click
quake 2,100
bar 90,8,40,300,100,30,10,#ff4444
bar 91,8,42,306,96,18,10,#ff8888
bar 92,8,44,311,92,8,10,#ffaaaa
bar 93,8,45,314,90,2,10,#ffeeee
print 1
bar 89,81,40,301,100,28,100,#ffeeee
print 10,100
bar 88,82,40,302,100,26,100,#cc6699
print 10,300
click
quake 2,100
bar 90,5,40,300,100,30,10,#ff4444
bar 91,5,42,306,96,18,10,#ff8888
bar 92,5,44,311,92,8,10,#ffaaaa
bar 93,5,45,314,90,2,10,#ffeeee
print 1
bar 89,51,40,301,100,28,100,#ffeeee
print 10,100
bar 88,52,40,302,100,26,100,#cc6699
print 10,300
结束\
end
[此贴子已经被作者于2005-7-1 17:56:07编辑过] 大re.加个精华先.
PS:也完全可以除了本身的血条部分,其余都使用图片做...这样的话没有遮挡和移动图片之类的烦恼,而且效果也满华丽.
也可以把血条做成用来显示减去的总血量吧.=v=那样的话,被扣掉的部分单色显示,其余的部分可以随便弄成什么颜色的.
不过,图片的层次关系可能需要注意.
NS里面,图片编号越高的显示顺位越下层.和显示顺序无关
页:
[1]