赞 | 1 |
VIP | 220 |
好人卡 | 25 |
积分 | 7 |
经验 | 51477 |
最后登录 | 2013-1-12 |
在线时间 | 943 小时 |
Lv2.观梦者 花开堪折直须折
- 梦石
- 0
- 星屑
- 686
- 在线时间
- 943 小时
- 注册时间
- 2010-7-17
- 帖子
- 4963
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 冰舞蝶恋 于 2011-4-13 13:49 编辑
不知不觉的就写了很多脚本,自我感觉还是蛮实用的~
虽然技术上比不上各位大神,但咱一向引以为豪的是咱那源源不绝、莫名其妙的灵感!
这里就放上脚本和截图咯~
更新到1.4啦~~哈哈~
可跟随人物。自以为能跟赵云前辈的媲美了【美你个头!赵云前辈是大神你算老几啊!- #============================================================================
- # 〇 Sideview横版·实用小插件_V.1.4
- # ——By.冰舞蝶恋
- #----------------------------------------------------------------------------
- # 功能:让显示人物/敌人名字的窗口,随着字数的多少而变化,并可以自由调控窗口的
- # 位置。详见设定部分。
- #----------------------------------------------------------------------------
- # 更新日记:
- # - V.1.1:应求加入血条显示。
- # - V.1.2:更改当名字太短血条文字会挤在一起的情况。
- # - V.1.3:更改当不使用血条的时候,帮助窗口的高度(复原32的高度)。
- # - V.1.4:加入帮助窗口跟随光标的功能。
- #============================================================================
- #============================================================================
- # ● 设定部分
- #----------------------------------------------------------------------------
- #-设定帮助窗口的位置---------------------------------------------------------
- $H = 0 # 0-将显示在左上方
- # 1-将显示在正中间
- # 2-将显示在右上方
- $Gs = true # 是否跟随光标?(true/false)
- $Xw = 0 # 如果跟随光标,窗口X坐标的调整
- $Yw = 0 # 如果跟随光标,窗口Y坐标的调整
- #----------------------------------------------------------------------------
- #-帮助窗口的宽度-------------------------------------------------------------
- $W = 40 # 在文字宽度的基础上,宽度补加多少
- $Wn = 20 # 每个文字将有多少宽度?(不推荐修改,但可以根据字号而调整)
- #----------------------------------------------------------------------------
- #-血条显示-------------------------------------------------------------------
- $hpV = true # 是否使用血条?(true/false)
- #----------------------------------------------------------------------------
- #============================================================================
- class Scene_Battle
- #--------------------------------------------------------------------------
- # ● 目标选择的开始
- #--------------------------------------------------------------------------
- def start_target_selection(actor = false)
- members = $game_party.members if actor
- members = $game_troop.members unless actor
- # 光标精灵的作成
- @cursor = Sprite.new
- @cursor.bitmap = Cache.character("cursor")
- @cursor.src_rect.set(0, 0, 38, 38)
- @cursor_flame = 0
- @cursor.x = -200
- @cursor.y = -200
- @cursor.z = 401
- @cursor.ox = @cursor.width
- @cursor.oy = @cursor.height
- # 存在的目标为最底号码的对象也想最初那样
- @index = 0
- @max_index = members.size - 1
- if $hpV == true
- $al = 64
- else
- $al = 32
- end
- #-获取字数--------------
- a = members[@index].name
- b = a.size / 3
- $bn = b * $Wn + $W
- if $hpV == true
- if b <= 2
- $bn += 32
- end
- end
- #-----------------------
- #-获取帮助窗口的位置----
- if $H == 0
- $Li = 0
- end
- if $H == 1
- $Li = (544 - $bn) / 2
- end
- if $H >= 2
- $Li = 544 - $bn
- end
- if $Gs == true
- point = @spriteset.set_cursor(actor, @index)
- $Li = point[0] + $Xw
- $Lp = point[1] + $Yw
- else
- $Lp = 0
- end
- #-----------------------
- #-获取血条所属角色------
- $actor_i = members[@index]
- #-----------------------
- # 作成显示目标名的帮助窗口
- @help_window.visible = false if @help_window != nil
- @help_window2 = Window_Help2.new if @help_window2 == nil
- # 消除不要的窗口
- @actor_command_window.active = false
- @skill_window.visible = false if @skill_window != nil
- @item_window.visible = false if @item_window != nil
- # 主人公为站都不能者也可以作为目标来与敌方区分
- unless actor
- members.size.times do
- break if members[@index].exist?
- @index += 1
- end
- end
- @help_window2.set_text(members[@index].name, 1)
- select_member(actor)
- end
- #--------------------------------------------------------------------------
- # ● 向前移动光标
- #--------------------------------------------------------------------------
- def cursor_up(members, actor)
- Sound.play_cursor
- members.size.times do
- @index += members.size - 1
- @index %= members.size
- break if actor
- break if members[@index].exist?
- end
- @help_window2.visible = false
- #-获取字数--------------
- a = members[@index].name
- b = a.size / 3
- $bn = b * $Wn + $W
- if $hpV == true
- if b <= 2
- $bn += 32
- end
- end
- #-----------------------
- #-获取帮助窗口的位置----
- if $H == 0
- $Li = 0
- end
- if $H == 1
- $Li = (544 - $bn) / 2
- end
- if $H >= 2
- $Li = 544 - $bn
- end
- if $Gs == true
- point = @spriteset.set_cursor(actor, @index)
- $Li = point[0] + $Xw
- $Lp = point[1] + $Yw
- else
- $Lp = 0
- end
- #-----------------------
- #-获取血条所属角色------
- $actor_i = members[@index]
- #-----------------------
- @help_window2 = Window_Help2.new
- @help_window2.set_text(members[@index].name, 1)
- end
- #--------------------------------------------------------------------------
- # ● 向后移动光标
- #--------------------------------------------------------------------------
- def cursor_down(members, actor)
- Sound.play_cursor
- members.size.times do
- @index += 1
- @index %= members.size
- break if actor
- break if members[@index].exist? && !actor
- end
- @help_window2.visible = false
- #-获取字数--------------
- a = members[@index].name
- b = a.size / 3
- $bn = b * $Wn + $W
- if $hpV == true
- if b <= 2
- $bn += 32
- end
- end
- #-----------------------
- #-获取帮助窗口的位置----
- if $H == 0
- $Li = 0
- end
- if $H == 1
- $Li = (544 - $bn) / 2
- end
- if $H >= 2
- $Li = 544 - $bn
- end
- if $Gs == true
- point = @spriteset.set_cursor(actor, @index)
- $Li = point[0] + $Xw
- $Lp = point[1] + $Yw
- else
- $Lp = 0
- end
- #-----------------------
- #-获取血条所属角色------
- $actor_i = members[@index]
- #-----------------------
- @help_window2 = Window_Help2.new
- @help_window2.set_text(members[@index].name, 1)
- end
- end
- class Window_Help2 < Window_Base
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- super($Li, $Lp, $bn, WLH + $al)
- end
- #--------------------------------------------------------------------------
- # ● 设置文字
- # text : 显示于窗口内的字符串
- # align : 对其 (0..靠左对齐, 1..居中对齐, 2..靠右对齐)
- #--------------------------------------------------------------------------
- def set_text(text, align = 1)
- if text != @text or align != @align
- self.contents.clear
- self.contents.font.color = normal_color
- self.contents.draw_text(4, 0, self.width - 40, WLH, text, align)
- self.contents.font.size = 16
- #-描绘血条-----------------------------
- if $hpV == true
- draw_actor_hp2($actor_i, 4, 12, $bn-40)
- draw_actor_mp2($actor_i, 4, 28, $bn-40)
- end
- #--------------------------------------
- @text = text
- @align = align
- end
- end
- end
- class Window_Base
- #--------------------------------------------------------------------------
- # ● 描绘 HP
- # actor : 角色
- # x : 描绘目标 X 坐标
- # y : 描绘目标 Y 坐标
- # width : 宽
- #--------------------------------------------------------------------------
- def draw_actor_hp2(actor, x, y, width = 120)
- draw_actor_hp_gauge(actor, x, y, width)
- self.contents.font.color = system_color
- self.contents.draw_text(x, y+8, 30, WLH, Vocab::hp_a)
- self.contents.font.color = hp_color(actor)
- xr = x + width
- if width < 120
- self.contents.draw_text(xr - 40-2, y+6, 40, WLH, actor.hp, 2)
- else
- self.contents.draw_text(xr - 90-2, y+6, 40, WLH, actor.hp, 2)
- self.contents.font.color = normal_color
- self.contents.draw_text(xr - 50-2, y+6, 10, WLH, "/", 2)
- self.contents.draw_text(xr - 40-2, y+6, 40, WLH, actor.maxhp, 2)
- end
- end
- #--------------------------------------------------------------------------
- # ● 描绘 MP
- # actor : 角色
- # x : 描绘目标 X 坐标
- # y : 描绘目标 Y 坐标
- # width : 宽
- #--------------------------------------------------------------------------
- def draw_actor_mp2(actor, x, y, width = 120)
- draw_actor_mp_gauge(actor, x, y, width)
- self.contents.font.color = system_color
- self.contents.draw_text(x, y+8, 30, WLH, Vocab::mp_a)
- self.contents.font.color = mp_color(actor)
- xr = x + width
- if width < 120
- self.contents.draw_text(xr - 40-2, y+6, 40, WLH, actor.mp, 2)
- else
- self.contents.draw_text(xr - 90-2, y+6, 40, WLH, actor.mp, 2)
- self.contents.font.color = normal_color
- self.contents.draw_text(xr - 50-2, y+6, 10, WLH, "/", 2)
- self.contents.draw_text(xr - 40-2, y+6, 40, WLH, actor.maxmp, 2)
- end
- end
- end
复制代码 放上截图。
顺便秀自己游戏的战斗系统~~
人物框是自己写的~【得意个头啊你!
注意:必须覆盖在约束汉化的那个横版战斗的下方才有效!
|
评分
-
查看全部评分
|