赞 | 0 |
VIP | 0 |
好人卡 | 1 |
积分 | 0 |
经验 | 16978 |
最后登录 | 2015-12-4 |
在线时间 | 76 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 49
- 在线时间
- 76 小时
- 注册时间
- 2006-7-7
- 帖子
- 194
|
3楼
楼主 |
发表于 2009-7-24 12:59:36
|
只看该作者
- #==============================================================================
- # ◎ GPRA_Window_Help
- #------------------------------------------------------------------------------
- # ◎ 特技及物品的说明、角色的状态显示的窗口加强。
- #------------------------------------------------------------------------------
- # 制作者:绿梨子红苹果
- # 个人主页:vbgm.9126.com
- # E-Mail:[email protected]
- # QQ:42378361
- #==============================================================================
- class Window_Help_New < Window_Base
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- super(0, 0, 680, 999)
- self.contents = Bitmap.new(width - 32, height - 32)
- self.opacity = 0##
- 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 >= 3
- # 退出循环体
- break
- end
- # 否则l自增1
- l += 2
- end
- # 不是换行符的其他情况
- s[l]=s[l]+c
- end
- # 根据文字的行数进行不同的绘制
- case l
- when 0
- self.contents.font.size = 14
- self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
- self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
- when 1
- self.contents.font.size = 14
- self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
- self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
- self.contents.draw_text(317, 10, self.width - 40, 32, s[1], align)
- when 2
- self.contents.font.size = 14
- self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
- self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
- self.contents.draw_text(317, 10, self.width - 40, 32, s[1], align)
- self.contents.draw_text(317, 30, self.width - 40, 32, s[2], align)
- when 3
- self.contents.font.size = 14
- self.contents.font.color.set(0, 0, 0)##这里改为你要的颜色
- self.contents.draw_text(317, -10, self.width - 40, 32, s[0], align)
- self.contents.draw_text(317, 10, self.width - 40, 32, s[1], align)
- self.contents.draw_text(317, 25, self.width - 40, 32, s[2], align)
- self.contents.draw_text(317, 35, self.width - 40, 32, s[3], 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
复制代码 不是这样吗?
但是提示
“s[l]=s[l]+c”这行出错 |
|