Project1

标题: 怎么描绘一个值槽 [打印本页]

作者: 忧伤的小猫    时间: 2008-7-19 23:43
标题: 怎么描绘一个值槽
怎么描绘一个值槽 记录某个变量用的? [LINE]1,#dddddd[/LINE]此贴于 2008-7-22 7:29:00 被版主darkten提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 灯笼菜刀王    时间: 2008-7-19 23:48
http://rpg.blue/web/htm/news756.htm
作者: 忧伤的小猫    时间: 2008-7-19 23:54
楼上给的东西根本没法下载
作者: 幽月    时间: 2008-7-19 23:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: 灯笼菜刀王    时间: 2008-7-19 23:56
- -不是修复了么??...
作者: 忧伤的小猫    时间: 2008-7-19 23:57
主站的很多东西都用不了了 晕死
谁能给一个最简单的范例 让我看看 现在对脚本也不是很盲了 = =!
作者: 灯笼菜刀王    时间: 2008-7-20 00:00
http://rpg.blue/web/htm/news954.htm
这个应该是最简单的而且是最详细的,描绘了各个地方的槽值
作者: 劍之飛龍☆    时间: 2008-7-20 00:21
  1. TD脚本教学——画血槽
  2. 好久没写教程了,这次应一网友要求,写一个怎么画血槽的脚本教程

  3. 这只是个简单的教程,画出来的血槽也很简陋,因为已经有这类脚本了,这里只把大概的原理说给大家好了。

  4. 首先打开工程的脚本编辑器,找到Window_Base

  5. 之前有教学里说过,在Window_Base里提供了些多窗体使用的函数,里面也包括画HP的函数,这里我们只要修改一下画HP的函数就好了

  6. 在Window_Base里找到
  7. draw_actor_hp(actor, x, y, width = 144)

  8. 这一行,这就是画HP的函数

  9. 我们先来看一下完整的函数
  10. #--------------------------------------------------------------------------
  11. # ● 描绘 HP
  12. #   actor : 角色
  13. #   x   : 描画目标 X 坐标
  14. #   y   : 描画目标 Y 坐标
  15. #   width : 描画目标的宽
  16. #--------------------------------------------------------------------------
  17. def draw_actor_hp(actor, x, y, width = 144)
  18.   # 描绘字符串 "HP"
  19.   self.contents.font.color = system_color
  20.   self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
  21.   # 计算描绘 MaxHP 所需的空间
  22.   if width - 32 >= 108
  23.     hp_x = x + width - 108
  24.     flag = true
  25.   elsif width - 32 >= 48
  26.     hp_x = x + width - 48
  27.     flag = false
  28.   end
  29.   # 描绘 HP
  30.   self.contents.font.color = actor.hp == 0 ? knockout_color :
  31.     actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  32.   self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
  33.   # 描绘 MaxHP
  34.   if flag
  35.     self.contents.font.color = normal_color
  36.     self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
  37.     self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
  38.   end
  39. end


  40. 描绘HP和描绘MaxHP是写出HP和最大HP的值,在函数中,后描绘的物体会默认覆盖住先描绘的物体,为了使血槽不遮住原来描绘的字体,所以我们要把代码加在
  41. def draw_actor_hp(actor, x, y, width = 144)
  42. 后,加入以下代码
  43. self.contents.fill_rect(x,y,width,8,Color.new(0,0,0))
  44. hp_width = (width - 2)*(actor.hp/(actor.maxhp+0.1))
  45. self.contents.fill_rect(x+1,y+1,hp_width,6,Color.new(255,0,0))

  46. 这里说明一下fill_rect
  47. fill_rect(x,y,width,height,color)是用color指定的颜色填充一个以(x,y)为顶点,长宽分别为width,height的矩形
  48. 上面代码的第一行是用黑色填充一个矩形,用来做血槽的底
  49. 第二行是计算血槽的量的宽度
  50. 在这里actor.maxhp加上了个0.1是为了让它进行有小数的计算
  51. 第三行是画用来表示量的矩形,这里x和y都加了1,并且高和宽都减了2是为了让底露出点边宽
  52. 这样,血槽就画好了,画SP槽和这个的方法是一样的
  53. 坐标可能不大对,大家也以之后自己调整

  54. 现在,自己去游戏里看看效果吧
复制代码
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




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