Project1
标题:
【VX】 关于战斗视窗的脚本
[打印本页]
作者:
kapoleo
时间:
2011-12-11 20:42
标题:
【VX】 关于战斗视窗的脚本
本帖最后由 仲秋启明 于 2011-12-14 15:30 编辑
早前在66下了一个把vx的解像度变为640*480脚本
之后的所有视窗都要全部调校
我不懂脚本....但一些简单的例如skill、item、equip的视窗按说明便能慢慢调回适应640*480
不过战斗视窗方面我就完全一头无绪了
不知是我找不到还是脚本本身没有表明
我不知哪个视窗配哪段脚本
改来改去都一塌糊涂
不是重叠了就是无法与外框对齐
不是隔开老远的便是悬空了
请问我该在哪里找到有关战斗视窗脚本的说明呢?
(即是"作战/撤退"、"hp/sp"、"攻击/技能/物品"那些战窗)
谢谢
作者:
喵娘
时间:
2011-12-11 20:52
本帖最后由 喵娘 于 2011-12-11 21:11 编辑
Scene_Battle 15行:
@message_window = Window_BattleMessage.new
复制代码
这是第一个窗口。着手修改:
#==============================================================================
# ■ Window_BattleMessage
#------------------------------------------------------------------------------
# 在战斗画面显示信息的窗口。除了一般信息功能之外,还增加战斗进行描述功能。
#==============================================================================
class Window_BattleMessage < Window_Message
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super
复制代码
可以看到这里super没有带参数,是直接根据父类来的,所以退回去找父类 Window_Message
#==============================================================================
# ■ Window_Message
#------------------------------------------------------------------------------
# 显示文章的信息窗口。
#==============================================================================
class Window_Message < Window_Selectable
#--------------------------------------------------------------------------
# ● 常量
#--------------------------------------------------------------------------
MAX_LINE = 4 # 最大行数
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super(0, 288, 544, 128)
复制代码
这里就是要修改的位置了(如果你希望战斗和其他分开的话也可以直接把上面的super改成super(x, y, 宽, 高)的形式。
(四个参数未特殊声明都是这种形式,以下不再赘述。)
Scene_Battle 119-134行:
#--------------------------------------------------------------------------
# ● 生成资讯显示端口
#--------------------------------------------------------------------------
def create_info_viewport
@info_viewport = Viewport.new(0, 288, 544, 128)
@info_viewport.z = 100
@status_window = Window_BattleStatus.new
@party_command_window = Window_PartyCommand.new
@actor_command_window = Window_ActorCommand.new
@status_window.viewport = @info_viewport
@party_command_window.viewport = @info_viewport
@actor_command_window.viewport = @info_viewport
@status_window.x = 128
@actor_command_window.x = 544
@info_viewport.visible = false
end
复制代码
首先将5行viewport的大小改掉,下面13、14行两个x坐标改掉,然后进入三个Window的修改:
#==============================================================================
# ■ Window_BattleStatus
#------------------------------------------------------------------------------
# 显示战斗画面同伴状态的窗口。
#==============================================================================
class Window_BattleStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super(0, 0, 416, 128)
复制代码
直接改Super
#==============================================================================
# ■ Window_PartyCommand
#------------------------------------------------------------------------------
# 战斗画面、选择战斗与逃跑的窗口。
#==============================================================================
class Window_PartyCommand < Window_Command
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
s1 = Vocab::fight
s2 = Vocab::escape
super(128, [s1, s2], 1, 4)
复制代码
#==============================================================================
# ■ Window_ActorCommand
#------------------------------------------------------------------------------
# 选择角色命令(如「攻击」或「技能」)的窗口。
#==============================================================================
class Window_ActorCommand < Window_Command
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super(128, [], 1, 4)
复制代码
后两个脚本只改super的第一个参数,后边不要动(具体这些参数是干什么的到Window_Command一看便知)
Scene_Battle 328-329行:
@target_enemy_window = Window_TargetEnemy.new
@target_enemy_window.y = @info_viewport.rect.y
复制代码
第2行的viewport前面改过了所以无视,转到Window_TargetEnemy:
#==============================================================================
# ■ Window_TargetEnemy
#------------------------------------------------------------------------------
# 在战斗画面,选择要攻击的敌人的窗口。
#==============================================================================
class Window_TargetEnemy < Window_Command
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
commands = []
@enemies = []
for enemy in $game_troop.members
next unless enemy.exist?
commands.push(enemy.name)
@enemies.push(enemy)
end
super(416, commands, 2, 4)
复制代码
同样是改super第一项
Scene_Battle 405-406行:
@help_window = Window_Help.new
@skill_window = Window_Skill.new(0, 56, 544, 232, @active_battler)
复制代码
先把第二行前四个参数改掉,然后转到Window_Help:
#==============================================================================
# ■ Window_Help
#------------------------------------------------------------------------------
# 特技及物品的说明、角色的状态显示的窗口。
#==============================================================================
class Window_Help < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super(0, 0, 544, WLH + 32)
复制代码
改第三项544(WLH是一个常量,表示字号,帮主窗口的高度是通过字号+窗口边框32像素自动计算的,这里不用改)
Scene_Battle 466-467行:
@help_window = Window_Help.new
@item_window = Window_Item.new(0, 56, 544, 232)
复制代码
Window_Help刚改过了,略过。直接改第二行的四个参数。
〖完〗
作者:
kapoleo
时间:
2011-12-11 23:09
啊.....可以额外问一下吗?
Window_BattleStatus 的:
def draw_item(index)
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
self.contents.font.color = normal_color
actor = $game_party.members[index]
draw_actor_name(actor, 4, rect.y)
draw_actor_state(actor, 116, rect.y, 48)
draw_actor_hp(actor, 174, rect.y, 120)
draw_actor_mp(actor, 310, rect.y, 70)
这里需要调一下吗?
谢谢~~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1