Project1

标题: 求助关于血条脚本怎么弄? [打印本页]

作者: 赛露休斯    时间: 2009-1-20 00:27
标题: 求助关于血条脚本怎么弄?
要求血条在角色满血时,颜色由蓝变绿,再由绿变蓝,反复变颜色。。。。。。
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: FWDZYH    时间: 2009-1-20 00:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: dbshy    时间: 2009-1-20 00:33
好吧,革命前最后一贴

新建一个sprite_hp_bar类
然后在update中写刷新即可

如果在update中refresh的话,结果就不用我说了

作者: ONEWateR    时间: 2009-1-20 00:35
以下引用dbshy于2009-1-19 16:33:47的发言:

如果在update中refresh的话,结果就不用我说了


我估计我会很喜欢那个游戏 {/hx}
作者: goahead    时间: 2009-1-20 00:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: 赛露休斯    时间: 2009-1-20 00:41
不太懂脚本怎么写,在添加了update方法后
发生RGSSError。 disposed sprite

作者: 赛露休斯    时间: 2009-1-21 08:43
以下引用dbshy于2009-1-19 16:33:47的发言:
新建一个sprite_hp_bar类
然后在update中写刷新即可

如果在update中refresh的话,结果就不用我说了

照你的方法试了,帧数降了一半。。。。。。。。太卡了,不行{/dk}

以下引用goahead于2009-1-19 16:40:19的发言:

这样会很卡,不如建两层sprite互相换

那样只有两种颜色,起不到颜色渐变效果
作者: dbshy    时间: 2009-1-21 18:32
以下引用赛露休斯于2009-1-21 0:43:15的发言:


以下引用dbshy于2009-1-19 16:33:47的发言:
新建一个sprite_hp_bar类
然后在update中写刷新即可

如果在update中refresh的话,结果就不用我说了


照你的方法试了,帧数降了一半。。。。。。。。太卡了,不行


你可能误解我的意思了{/gg}
你把脚本贴出来,我帮你改
作者: 缺牙de兔子    时间: 2009-1-21 19:31
在refresh中做判断 默认是绿色
之前先NEW 好一个绿色的 $color=Color.new(0,255,0,255)
血降到一半时 $color.red=255 这时候颜色的属性是 255,255,0不就是黄色咯
血降到大半时 $color.green=0 这时候颜色的属性是 255,0,0 不就是红色咯

作者: 亿万星辰    时间: 2009-1-22 06:42
假设满血事是绿色,空血时为红色
其实也就是
100%对应Color.new(0, 255, 0)
  0%对应Color.new(255, 0, 0)
可以看出是R G两个颜色在变化,遵循这个规律
血槽填充时的颜色就应该是这样的一个式子
Color.new(255 - 255 * @actor.hp / @actor.maxhp, 255 * @actor.hp / @actor.maxhp, 0)

话说但愿没理解错楼主的意思,或者说楼主是想让HP在满的时候出现一个闪烁效果?
那就是直接在update里给对应的sprite的color方法做一个类似的处理了
作者: 赛露休斯    时间: 2009-1-22 06:48
以下引用亿万星辰于2009-1-21 22:42:40的发言:
话说但愿没理解错楼主的意思,或者说楼主是想让HP在满的时候出现一个闪烁效果?
那就是直接在update里给对应的sprite的color方法做一个类似的处理了

[本贴由作者于 2009-1-21 22:45:54 最后编辑]

差不多就是HP在满的时候出现一个闪烁效果,颜色来回变
作者: aaaagq    时间: 2009-1-22 16:27
以下引用赛露休斯于2009-1-21 0:43:15的发言:
<br><script language="javascript">
<!--
strCont="[quote]以下引用dbshy于2009-1-19 16:33:47的发言:\r\n新建一个sprite_hp_bar类\r\n然后在update中写刷新即可\r\n\r\n如果在update中refresh的话,结果就不用我说了\r\n
\r\n照你的方法试了,帧数降了一半。。。。。。。。太卡了,不行{/dk}\r\n\r\n
以下引用goahead于2009-1-19 16:40:19的发言:\r\n\r\n这样会很卡,不如建两层sprite互相换 \r\n
\r\n那样只有两种颜色,起不到颜色渐变效果";
document.write(ubb.spbShowTopic(strCont,1));
//-->
</script><blockquote class="CodeBorder">以下引用dbshy于2009-1-19 16:33:47的发言:<br>
新建一个sprite_hp_bar类<br>
然后在update中写刷新即可<br>
<br>
如果在update中refresh的话,结果就不用我说了<br>
</blockquote><br>
照你的方法试了,帧数降了一半。。。。。。。。太卡了,不行<img src="expression/dk.gif" width="20" height="20"><br>
<br>
<blockquote class="CodeBorder">以下引用goahead于2009-1-19 16:40:19的发言:<br>
<br>
这样会很卡,不如建两层sprite互相换 <br>
</blockquote><br>
那样只有两种颜色,起不到颜色渐变效果

[/quote]
上层sprite不断透明渐变就可以叠加出效果。

sprite.opacity = 8.0 * (Graphics.frame_count % 33)

作者: dbshy    时间: 2009-1-22 20:27
http://rpg.blue/upload_program/d/dbshy_Project100_113055934.rar
进入后,按esc键可看到效果
应该是你要的效果,颜色和速度请自己调

调用Sprite_hpbar.new(actor_id,x,y,width) [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: goahead    时间: 2009-1-22 23:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: wbsy8241    时间: 2009-6-12 08:00
http://rpg.blue/upload_program/d/wbsy8241_Project100_113069845.rar

6行事件..... [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1