Project1
标题:
【Window_Help帮助窗口】(中等脚本难度吧?)
[打印本页]
作者:
菜鸟飞呀飞
时间:
2008-11-24 04:37
提示:
作者被禁止或删除 内容自动屏蔽
作者:
redant
时间:
2008-11-24 04:57
#==============================================================================
# ◎ GPRA_Window_Help
#------------------------------------------------------------------------------
# ◎ 特技及物品的说明、角色的状态显示的窗口加强。
#------------------------------------------------------------------------------
# 制作者:绿梨子红苹果
# 个人主页:vbgm.9126.com
# E-Mail:
[email protected]
# QQ:42378361
#==============================================================================
class Window_Help < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 128)
self.contents = Bitmap.new(width - 32, height - 32)
end
#--------------------------------------------------------------------------
# ● 设置文本
# text : 窗口显示的字符串
# align : 对齐方式
#--------------------------------------------------------------------------
def set_text(text, align = 0)
# 如果文本和对齐方式的至少一方与上次的不同
if text != @text or align != @align
# 清空原来的文字内容
self.contents.clear
# 设置颜色为默认颜色
self.contents.font.color = normal_color
# 定义变量记录文字行数
l=0
# 定义数组分别记录每行文字内容
s=["","",""]
# 利用临时变量存储text内容
temp=text.dup
# 首先处理文本,将"\\n"全部替换成换行符"\n"
temp.gsub!(/\\n/) { "\n" }
# c 获取 1 个字 (如果不能取得文字就退出循环)
while ((c = temp.slice!(/./m)) != nil)
# 另起一行文字的情况下
if c == "\n"
# 当超过3行时(0行开始,所以这里是2)
if l >= 2
# 退出循环体
break
end
# 否则l自增1
l += 1
end
# 不是换行符的其他情况
s[l]=s[l]+c
end
# 根据文字的行数进行不同的绘制
case l
when 0
self.contents.draw_text(4, 32, self.width - 40, 32, s[0], align)
when 1
self.contents.draw_text(4, 16, self.width - 40, 32, s[0], align)
self.contents.draw_text(4, 48, self.width - 40, 32, s[1], align)
when 2
self.contents.draw_text(4, 0, self.width - 40, 32, s[0], align)
self.contents.draw_text(4, 32, self.width - 40, 32, s[1], align)
self.contents.draw_text(4, 64, self.width - 40, 32, s[2], align)
end
# 保存此次绘图时的参数值
@text = text
@align = align
@actor = nil
end
# 可见状态为真
self.visible = true
end
#--------------------------------------------------------------------------
# ● 设置角色
# actor : 要显示状态的角色
#--------------------------------------------------------------------------
def set_actor(actor)
if actor != @actor
self.contents.clear
draw_actor_name(actor, 4, 0)
draw_actor_state(actor, 140, 0)
draw_actor_hp(actor, 284, 0)
draw_actor_sp(actor, 460, 0)
@actor = actor
@text = nil
self.visible = true
end
end
#--------------------------------------------------------------------------
# ● 设置敌人
# enemy : 要显示名字和状态的敌人
#--------------------------------------------------------------------------
def set_enemy(enemy)
text = enemy.name
state_text = make_battler_state_text(enemy,false)
if state_text != ""
text += " " + state_text
end
set_text(text, 1)
end
end
复制代码
分行说明 有这个脚本
发布地址忘了 在说明文字里:比如回复剂 己方单体 HP 回复。\n猪\n猪头
\n就是换行了
作者:
塑望
时间:
2008-11-24 05:37
囧。。中等难度脚本
作者:
菜鸟飞呀飞
时间:
2008-11-24 06:38
提示:
作者被禁止或删除 内容自动屏蔽
作者:
3nξhα0_lim
时间:
2008-11-24 07:21
提示:
作者被禁止或删除 内容自动屏蔽
作者:
菜鸟飞呀飞
时间:
2008-11-24 20:11
提示:
作者被禁止或删除 内容自动屏蔽
作者:
雪流星
时间:
2008-11-24 20:34
你这个脚本最大的一个问题是:你不明白类「继承」的道理
作者:
菜鸟飞呀飞
时间:
2008-11-24 21:33
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1