设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1616|回复: 2
打印 上一主题 下一主题

【VX】 关于战斗视窗的脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
739 小时
注册时间
2011-11-24
帖子
341
跳转到指定楼层
1
发表于 2011-12-11 20:42:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 仲秋启明 于 2011-12-14 15:30 编辑

早前在66下了一个把vx的解像度变为640*480脚本
之后的所有视窗都要全部调校
我不懂脚本....但一​​些简单的例如skill、item、equip的视窗按说明便能慢慢调回适应640*480
不过战斗视窗方面我就完全一头无绪了
不知是我找不到还是脚本本身没有表明
我不知哪个视窗配哪段脚本
改来改去都一塌糊涂
不是重叠了就是无法与外框对齐
不是隔开老远的便是悬空了
请问我该在哪里找到有关战斗视窗脚本的说明呢?
(即是"作战/撤退"、"hp/sp"、"攻击/技能/物品"那些战窗)
谢谢

Lv1.梦旅人

梦石
0
星屑
50
在线时间
17 小时
注册时间
2011-11-29
帖子
19
2
发表于 2011-12-11 20:52:46 | 只看该作者
本帖最后由 喵娘 于 2011-12-11 21:11 编辑

Scene_Battle 15行:
  1.     @message_window = Window_BattleMessage.new
复制代码
这是第一个窗口。着手修改:
  1. #==============================================================================
  2. # ■ Window_BattleMessage
  3. #------------------------------------------------------------------------------
  4. #  在战斗画面显示信息的窗口。除了一般信息功能之外,还增加战斗进行描述功能。
  5. #==============================================================================

  6. class Window_BattleMessage < Window_Message
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super
复制代码
可以看到这里super没有带参数,是直接根据父类来的,所以退回去找父类 Window_Message
  1. #==============================================================================
  2. # ■ Window_Message
  3. #------------------------------------------------------------------------------
  4. #  显示文章的信息窗口。
  5. #==============================================================================

  6. class Window_Message < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 常量
  9.   #--------------------------------------------------------------------------
  10.   MAX_LINE = 4                            # 最大行数
  11.   #--------------------------------------------------------------------------
  12.   # ● 初始化对像
  13.   #--------------------------------------------------------------------------
  14.   def initialize
  15.     super(0, 288, 544, 128)
复制代码
这里就是要修改的位置了(如果你希望战斗和其他分开的话也可以直接把上面的super改成super(x, y, 宽, 高)的形式。
(四个参数未特殊声明都是这种形式,以下不再赘述。)


Scene_Battle 119-134行:
  1.   #--------------------------------------------------------------------------
  2.   # ● 生成资讯显示端口
  3.   #--------------------------------------------------------------------------
  4.   def create_info_viewport
  5.     @info_viewport = Viewport.new(0, 288, 544, 128)
  6.     @info_viewport.z = 100
  7.     @status_window = Window_BattleStatus.new
  8.     @party_command_window = Window_PartyCommand.new
  9.     @actor_command_window = Window_ActorCommand.new
  10.     @status_window.viewport = @info_viewport
  11.     @party_command_window.viewport = @info_viewport
  12.     @actor_command_window.viewport = @info_viewport
  13.     @status_window.x = 128
  14.     @actor_command_window.x = 544
  15.     @info_viewport.visible = false
  16.   end
复制代码
首先将5行viewport的大小改掉,下面13、14行两个x坐标改掉,然后进入三个Window的修改:
  1. #==============================================================================
  2. # ■ Window_BattleStatus
  3. #------------------------------------------------------------------------------
  4. #  显示战斗画面同伴状态的窗口。
  5. #==============================================================================

  6. class Window_BattleStatus < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 416, 128)
复制代码
直接改Super
  1. #==============================================================================
  2. # ■ Window_PartyCommand
  3. #------------------------------------------------------------------------------
  4. #  战斗画面、选择战斗与逃跑的窗口。
  5. #==============================================================================

  6. class Window_PartyCommand < Window_Command
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     s1 = Vocab::fight
  12.     s2 = Vocab::escape
  13.     super(128, [s1, s2], 1, 4)
复制代码
  1. #==============================================================================
  2. # ■ Window_ActorCommand
  3. #------------------------------------------------------------------------------
  4. #  选择角色命令(如「攻击」或「技能」)的窗口。
  5. #==============================================================================

  6. class Window_ActorCommand < Window_Command
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(128, [], 1, 4)
复制代码
后两个脚本只改super的第一个参数,后边不要动(具体这些参数是干什么的到Window_Command一看便知)


Scene_Battle 328-329行:
  1.     @target_enemy_window = Window_TargetEnemy.new
  2.     @target_enemy_window.y = @info_viewport.rect.y
复制代码
第2行的viewport前面改过了所以无视,转到Window_TargetEnemy:
  1. #==============================================================================
  2. # ■ Window_TargetEnemy
  3. #------------------------------------------------------------------------------
  4. #  在战斗画面,选择要攻击的敌人的窗口。
  5. #==============================================================================

  6. class Window_TargetEnemy < Window_Command
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     commands = []
  12.     @enemies = []
  13.     for enemy in $game_troop.members
  14.       next unless enemy.exist?
  15.       commands.push(enemy.name)
  16.       @enemies.push(enemy)
  17.     end
  18.     super(416, commands, 2, 4)
复制代码
同样是改super第一项


Scene_Battle 405-406行:
  1.     @help_window = Window_Help.new
  2.     @skill_window = Window_Skill.new(0, 56, 544, 232, @active_battler)
复制代码
先把第二行前四个参数改掉,然后转到Window_Help:
  1. #==============================================================================
  2. # ■ Window_Help
  3. #------------------------------------------------------------------------------
  4. #  特技及物品的说明、角色的状态显示的窗口。
  5. #==============================================================================

  6. class Window_Help < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 544, WLH + 32)
复制代码
改第三项544(WLH是一个常量,表示字号,帮主窗口的高度是通过字号+窗口边框32像素自动计算的,这里不用改)


Scene_Battle 466-467行:
  1.     @help_window = Window_Help.new
  2.     @item_window = Window_Item.new(0, 56, 544, 232)
复制代码
Window_Help刚改过了,略过。直接改第二行的四个参数。

〖完〗

点评

新区目前等版主手动认可 -W-  发表于 2011-12-11 21:27
呃...那個......我該怎麼認可這個答案?......  发表于 2011-12-11 21:27
謝謝大大詳細指教....我會調了 謝謝~~:)  发表于 2011-12-11 21:25

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
月夜神音 + 200 + 2 手动认可

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
739 小时
注册时间
2011-11-24
帖子
341
3
 楼主| 发表于 2011-12-11 23:09:45 | 只看该作者
啊.....可以额外问一下吗?
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)

这里需要调一下吗?
谢谢~~

点评

不需要哦亲 -W- 自动计算的  发表于 2011-12-11 23:23
【长期招募制作成员】
原创科幻RPG - PURIFICATION (内涵‧严肃‧认真)
https://rpg.blue/thread-371063-1-1.html
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-15 01:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表