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

Project1

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

[RMXP发布] 新手翻译标题窗口有错的请前辈指出

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
跳转到指定楼层
1
发表于 2014-2-22 23:28:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
#  处理标题画面的类。
#==============================================================================

class Scene_Title
#class处理某类 Scene_Title处理标题画面
  #--------------------------------------------------------------------------
  # ● 住处理
  #--------------------------------------------------------------------------
  def main#def定义main
    # 战斗测试的情况下
    if $BTEST#如果在战斗测试的情况下
      battle_test#显示战斗者
      return#刷新
    end#结束
    # 载入数据库(数据库文件一般会在Data文件夹找到)
    $data_actors        = load_data("Data/Actors.rxdata")#载入角色数据库
    $data_classes       = load_data("Data/Classes.rxdata")#载入职业数据库
    $data_skills        = load_data("Data/Skills.rxdata")#载入特技数据库
    $data_items         = load_data("Data/Items.rxdata")#载入物品数据库
    $data_weapons       = load_data("Data/Weapons.rxdata")#载入武器数据库
    $data_armors        = load_data("Data/Armors.rxdata")#载入防具数据库
    $data_enemies       = load_data("Data/Enemies.rxdata")#载入敌人数据库
    $data_troops        = load_data("Data/Troops.rxdata")#载入队伍数据库
    $data_states        = load_data("Data/States.rxdata")#载入状态数据库
    $data_animations    = load_data("Data/Animations.rxdata")#载入动画数据库
    $data_tilesets      = load_data("Data/Tilesets.rxdata")#载入图块数据库
    $data_common_events = load_data("Data/CommonEvents.rxdata")#载入公共事件数据库
    $data_system        = load_data("Data/System.rxdata")#载入系统数据库
    # 生成系统对像
    $game_system = Game_System.new
    # 生成标题图形
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title($data_system.title_name)
    # 生成命令窗口
    s1 = "新游戏"
    s2 = "继续"
    s3 = "退出"
    @command_window = Window_Command.new(192, [s1, s2, s3])#调用一般的命令选择行窗口
    @command_window.back_opacity = 160#窗口透明度
    @command_window.x = 320 - @command_window.width / 2#窗口x-高除2
    @command_window.y = 288#窗口y
    # 判定继续的有效性
    # 存档文件一个也不存在的时候也调查
    # 有効为 @continue_enabled 为 true、無効为 false
    @continue_enabled = false # 判定存档假的情况
    for i in 0..3 # 循环检查存档0,1,2,3
      if FileTest.exist?("Save#{i+1}.rxdata")#载入存档数据库
        @continue_enabled = true# 判定存档真的情况
      end#结束
    end#结束
    # 继续为有效的情况下、光标停止在继续上
    # 无效的情况下、继续的文字显示为灰色
    if @continue_enabled#如果继续为有效的情况下
      @command_window.index = 1#光标停止在第一位上
    else#除此之外
      @command_window.disable_item(1)#光标停止在第一位上文字显示为灰色
    end#结束
    # 演奏标题 BGM
    $game_system.bgm_play($data_system.title_bgm)#载入BGM
    # 停止演奏 ME、BGS
    Audio.me_stop
    Audio.bgs_stop
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update
      # 如果画面被切换就中断循环
      if $scene != self
        break
      end
    end
    # 装备过渡
    Graphics.freeze
    # 释放命令窗口
    @command_window.dispose
    # 释放标题图形
    @sprite.bitmap.dispose # 释放精灵就会消失
    @sprite.dispose
  end

点评

厉害,有耐心,有毅力,有能力,加油,你,会成为脚本大师的!  发表于 2014-2-23 10:13

Lv1.梦旅人

梦石
0
星屑
185
在线时间
1 小时
注册时间
2014-3-24
帖子
1
79
发表于 2014-3-25 14:41:20 | 只看该作者
不好意思因为忘记密码,所以重新申请账号进来了。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
78
 楼主| 发表于 2014-3-20 10:19:19 | 只看该作者
可以发现command窗口都被我们更改为ax2啊兴窗口了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
77
 楼主| 发表于 2014-3-20 10:16:02 | 只看该作者
本帖最后由 啊兴 于 2014-3-20 10:25 编辑

  我们把菜单窗口删除部分填补上
在 def update刷新窗口后面添加
   if @ax2_window.active
      update_command
      return
    end
    # 状态窗口被激活的情况下: 调用 update_status
    if @status_window.active
      update_status
      return
    end
在最后面添加
#--------------------------------------------------------------------------
  # ● 刷新画面 (命令窗口被激活的情况下)
  #--------------------------------------------------------------------------
  def update_command
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 切换的地图画面
      $scene = Scene_Map.new
      return
    end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 同伴人数为 0、存档、游戏结束以外的场合
      if $game_party.actors.size == 0 and @command_window.index < 4
        # 演奏冻结 SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # 命令窗口的光标位置分支
      case @ax2_window.index
      when 0  # 物品
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到物品画面
        $scene = Scene_Item.new
      when 1  # 特技
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 激活状态窗口
        @ax2_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2  # 装备
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 激活状态窗口
        @ax2_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 3  # 状态
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 激活状态窗口
        @ax2_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 4  # 存档
        # 禁止存档的情况下
        if $game_system.save_disabled
          # 演奏冻结 SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到存档画面
        $scene = Scene_Save.new
      when 5  # 游戏结束
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到游戏结束画面
        $scene = Scene_End.new
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面 (状态窗口被激活的情况下)
  #--------------------------------------------------------------------------
  def update_status
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 激活命令窗口
      #@ax2_window.active = true
      @status_window.active = false
      @status_window.index = -1
      return
    end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 命令窗口的光标位置分支
      case @ax2_window.index
      when 1  # 特技
        # 本角色的行动限制在 2 以上的情况下
        if $game_party.actors[@status_window.index].restriction >= 2
          # 演奏冻结 SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到特技画面
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # 装备
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换的装备画面
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # 状态
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到状态画面
        $scene = Scene_Status.new(@status_window.index)
      end
      return
    end
  end

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
76
 楼主| 发表于 2014-3-20 09:53:04 | 只看该作者
啊兴2号窗口叠在图片上面不好看在@ax2_window = Window_Ax2.new也就是生成啊兴2号窗口下面添加
@ax2_window.z =-1
@ax2_window.back_opacity = 0
然啊兴2号的z变为最低让图片叠在上面并更改透明度为0

QQ图片20140320091746.jpg (157.04 KB, 下载次数: 17)

QQ图片20140320091746.jpg
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
75
 楼主| 发表于 2014-3-20 09:44:12 | 只看该作者
我们可以看到字体和光标矩形不重和在描绘项目
下面def draw_item(index)后面看到这个x = 4 + index * 160
这个的意思是字体的x坐标会更加index光标进行变化。
也就光标为一x就是4 + 1 * 160,如果是2就是4 + 2* 160
我们把x = 4 + index * 160更改为x =  index * 110

QQ图片20140320091746.jpg (148.25 KB, 下载次数: 16)

QQ图片20140320091746.jpg
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
74
 楼主| 发表于 2014-3-20 09:38:02 | 只看该作者
字体显示出来了
字体是6行不错可是光标不是6行,我们在把最大返回元素更改为6@item_max = 3更改为6

QQ图片20140320091746.jpg (146.22 KB, 下载次数: 16)

QQ图片20140320091746.jpg
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
73
 楼主| 发表于 2014-3-20 09:33:39 | 只看该作者
当然这还是不符合我们的要求
我们把这个@commands = ["买", "卖", "取消"]
改成    @commands = ["物品", "技能", "装备","状态","存档","退出"]
和@column_max = 3改成6行@column_max = 6

QQ图片20140320091746.jpg (146.48 KB, 下载次数: 13)

QQ图片20140320091746.jpg
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
72
 楼主| 发表于 2014-3-20 09:26:53 | 只看该作者
看来窗口位置不符合我们的要求更改窗口位置很矩形前面有讲过现在就来从新温习一下。 在初始化定义 def initialize下面看到这个    super(0, 64, 480, 64)
把他更改为super(0, 0, 640, 64)
#super(窗口x坐标,窗口y坐标,窗口宽,窗口高)

QQ图片20140320091746.jpg (144.71 KB, 下载次数: 12)

QQ图片20140320091746.jpg
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 20:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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