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
TD脚本教学——画血槽
好久没写教程了,这次应一网友要求,写一个怎么画血槽的脚本教程
这只是个简单的教程,画出来的血槽也很简陋,因为已经有这类脚本了,这里只把大概的原理说给大家好了。
首先打开工程的脚本编辑器,找到Window_Base
之前有教学里说过,在Window_Base里提供了些多窗体使用的函数,里面也包括画HP的函数,这里我们只要修改一下画HP的函数就好了
在Window_Base里找到
draw_actor_hp(actor, x, y, width = 144)
这一行,这就是画HP的函数
我们先来看一下完整的函数
#--------------------------------------------------------------------------
# ● 描绘 HP
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# width : 描画目标的宽
#--------------------------------------------------------------------------
def draw_actor_hp(actor, x, y, width = 144)
# 描绘字符串 "HP"
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
# 计算描绘 MaxHP 所需的空间
if width - 32 >= 108
hp_x = x + width - 108
flag = true
elsif width - 32 >= 48
hp_x = x + width - 48
flag = false
end
# 描绘 HP
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
# 描绘 MaxHP
if flag
self.contents.font.color = normal_color
self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
end
end
描绘HP和描绘MaxHP是写出HP和最大HP的值,在函数中,后描绘的物体会默认覆盖住先描绘的物体,为了使血槽不遮住原来描绘的字体,所以我们要把代码加在
def draw_actor_hp(actor, x, y, width = 144)
后,加入以下代码
self.contents.fill_rect(x,y,width,8,Color.new(0,0,0))
hp_width = (width - 2)*(actor.hp/(actor.maxhp+0.1))
self.contents.fill_rect(x+1,y+1,hp_width,6,Color.new(255,0,0))
这里说明一下fill_rect
fill_rect(x,y,width,height,color)是用color指定的颜色填充一个以(x,y)为顶点,长宽分别为width,height的矩形
上面代码的第一行是用黑色填充一个矩形,用来做血槽的底
第二行是计算血槽的量的宽度
在这里actor.maxhp加上了个0.1是为了让它进行有小数的计算
第三行是画用来表示量的矩形,这里x和y都加了1,并且高和宽都减了2是为了让底露出点边宽
这样,血槽就画好了,画SP槽和这个的方法是一样的
坐标可能不大对,大家也以之后自己调整
现在,自己去游戏里看看效果吧
复制代码
[LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1