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

Project1

 找回密码
 注册会员
搜索
楼主: 啊兴
打印 上一主题 下一主题

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
51
 楼主| 发表于 2014-3-7 10:33:39 | 只看该作者
运行游戏后嘻嘻!就变成这样了

QQ截图20140307103239.png (88.53 KB, 下载次数: 20)

QQ截图20140307103239.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

好吧!现在我们终于明白在main里可以运行多个窗口了,而这些窗口都属于window系列的,我们在window中找到Window_MenuStatus也就是我们还没有删除的
显示菜单画面和同伴状态的窗口。。我们可以看都   这里 super(0, 0, 480, 480)
第一个480是window窗口的宽第二个480是高0,0是X和y这个在菜单里重新定义了
在  Scene_Menu  
# 生成状态窗口
    @status_window = Window_MenuStatus.new
    @status_window.x = 160
    @status_window.y = 0
更改Scene_Menu的中xy看看有什么变化
呵呵!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

接着我们在看看Window_MenuStatus并翻译他。
# ■ Window_MenuStatus
#------------------------------------------------------------------------------
#  显示菜单画面和同伴状态的窗口。
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化目标
  #--------------------------------------------------------------------------
  def initialize#定义初始化
    super(0, 0, 480, 480)
    self.contents = Bitmap.new(width - 32, height - 32)#把位图代入精灵,并设置位图的宽和高。
    #位图是什么呢?我在菜单看到的只有角色的行走图,但这些图片都放在窗口里面
    #和我们之前的图片不同,32的大小刚好就是行走图的大小。
    refresh#刷新后面有定义
    self.active = false#光标是否闪烁
    self.index = -1#光标位置
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh#定义刷新
    self.contents.clear#清除位图全体clear是清除的意思
    @item_max = $game_party.actors.size
    #@item_max是返回的最大元素代入角色人数,即有多少人就有多少行的意思。。
    #如果有3人就显示3人的位图。
    for i in 0...$game_party.actors.size
      #这是个循环即把循环的角色数量代入变量i
      #从下面可以看到人数与y轴对应相关
      x = 64
      y = i * 116
      actor = $game_party.actors#以i即角色数量决定角色位置
      draw_actor_graphic(actor,x - 40, y + 80)#这个是行走图的位置
      draw_actor_name(actor, x, y)#这个是角色名字的位置
      draw_actor_class(actor, x + 144, y)#这个是角色还需要多少经验上升等级的位置
      #draw_actor_level(actor, x, y + 32)#这个是角色等级的位置
      draw_actor_state(actor, x + 90, y + 32)#这个是角色状态的位置
      draw_actor_exp(actor, x, y + 64)#这个是角色exp的位置
      draw_actor_hp(actor, x + 236, y + 32)#这个是角色hp的位置
      draw_actor_sp(actor, x + 236, y + 64)#这个是角色sp的位置
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新光标矩形
  #--------------------------------------------------------------------------
  def update_cursor_rect#刷新光标矩形
    if @Index < 0#如果光标小于0的场合
      self.cursor_rect.empty#光标矩形不变动
    else#除此之外
      self.cursor_rect.set(0, @Index * 116, self.width - 32, 96)
      # 更新光标矩形(x, y, 宽度, 高度)
    end
  end
end
  
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
54
 楼主| 发表于 2014-3-9 20:55:43 | 只看该作者
更改xy调节窗口里面行走图,和各文字数字位置,你懂的呵呵O(∩_∩)O~

评分

参与人数 1星屑 -10 收起 理由
hys111111 -10 请注意,你连帖了。更新内容在原帖编辑.

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
55
 楼主| 发表于 2014-3-15 21:09:20 | 只看该作者
Scene的翻译会不断更新在此先讲明,希望大伙不要怪我连贴,这贴这是想和大家一起学习,共同进步。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
56
 楼主| 发表于 2014-3-15 21:15:39 | 只看该作者
在Scene_Menu里把@status_window的窗口更改为的xy更改为00,把Window_MenuStatus窗口super右边的括号里更改为(0, 64, 640, 416)运行游戏会发现。。

QQ图片20140315211510.jpg (23.82 KB, 下载次数: 24)

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
57
 楼主| 发表于 2014-3-15 21:20:09 | 只看该作者
本帖最后由 啊兴 于 2014-3-15 22:32 编辑

大家会发现状态窗口下的名字等级的字消失了那是被我删了
      #draw_actor_name(actor, x, y)
      #draw_actor_class(actor, x + 144, y)
      #draw_actor_level(actor, x, y + 32)
      #draw_actor_state(actor, x + 90, y + 32)
      #draw_actor_exp(actor, x, y + 64)
      #draw_actor_hp(actor, x + 236, y + 32)
      #draw_actor_sp(actor, x + 236, y + 64)
在Window_MenuStatus窗口这些东西前面都加上#我们要开始重新定义所有角色数据的xy
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
58
 楼主| 发表于 2014-3-15 21:27:42 | 只看该作者
本帖最后由 啊兴 于 2014-3-15 22:34 编辑

  在  for i in 0...$game_party.actors.size
后面的xy都加上#因为我们要重定义xy所有得把xy删掉。
从Scene_Title也就是以前讲到过
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    # 刷新命令窗口
    @command_window.update
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 命令窗口的光标位置的分支
      case @command_window.index
      when 0  # 新游戏
        command_new_game
      when 1  # 继续
        command_continue
      when 2  # 退出
        command_shutdown
      end
    end
  end
从这里可以看出case光标位置的进行分支而@command_window.index是变量,我们就有样学样的,嘻嘻你懂的。
在actor = $game_party.actors
后面加上      case i
意思是把 i进行分支处理
when 0
actor = $game_party.actors[0]#一号角色代入actor
draw_actor_graphic(actor,40,  80)#一号角色代入的行走图以此类推。
when 1
actor = $game_party.actors[1]
draw_actor_graphic(actor, 40,180)
when 2
actor = $game_party.actors[2]
draw_actor_graphic(actor, 40,300)
when 3
actor = $game_party.actors[3]
draw_actor_graphic(actor, 40,360)
    end
  end
end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
59
 楼主| 发表于 2014-3-15 22:31:32 | 只看该作者
把Window_MenuStatus刷新更改为
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      case i
    when 0
      actor = $game_party.actors[0]
      draw_actor_graphic(actor,80,  100)
      draw_actor_name(actor, 90, 40)
      draw_actor_class(actor, 190, 40)
      draw_actor_level(actor, 250, 40)
      draw_actor_state(actor, 250, 60)
      draw_actor_exp(actor, 90, 100)
      draw_actor_hp(actor, 90, 60)
      draw_actor_sp(actor, 90, 80)
     when 1
      actor = $game_party.actors[1]
      draw_actor_graphic(actor, 350,100)
      draw_actor_name(actor, 360, 40)
      draw_actor_class(actor, 460, 40)
      draw_actor_level(actor, 520, 40)
      draw_actor_state(actor, 520, 60)
      draw_actor_exp(actor, 360, 100)
      draw_actor_hp(actor, 360, 60)
      draw_actor_sp(actor, 360, 80)
     when 2
      actor = $game_party.actors[2]
      draw_actor_graphic(actor, 80,200)
      draw_actor_name(actor, 90, 140)
      draw_actor_class(actor, 190, 140)
      draw_actor_level(actor, 250, 140)
      draw_actor_state(actor, 250, 160)
      draw_actor_exp(actor, 90, 200)
      draw_actor_hp(actor, 90, 160)
      draw_actor_sp(actor, 90, 180)
     when 3
      actor = $game_party.actors[3]
      draw_actor_graphic(actor, 350,200)
      draw_actor_name(actor, 360, 140)
      draw_actor_class(actor, 460, 140)
      draw_actor_level(actor, 520, 140)
      draw_actor_state(actor, 520, 160)
      draw_actor_exp(actor, 360, 200)
      draw_actor_hp(actor, 360, 160)
      draw_actor_sp(actor, 360, 180)
      end
    end
  end
我们把所有坐标都改了就变成这样
我对修改坐标比较懒惰希望大家不要吐槽。

QQ图片20140315222948.jpg (50.9 KB, 下载次数: 23)

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
60
 楼主| 发表于 2014-3-18 23:03:56 | 只看该作者
本帖最后由 啊兴 于 2014-3-18 23:05 编辑

全局收索draw_actor_graphic可以发现这个行走图在Window_Base中有定义
我现在就来开始讲解
  #--------------------------------------------------------------------------
  # ● 图形的描绘
  #     actor : 角色
  #     x     : 描画目标 X 坐标
  #     y     : 描画目标 Y 坐标
  #--------------------------------------------------------------------------
  def draw_actor_graphic(actor, x, y)
    bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)#代入角色行走图模块
    cw = bitmap.width / 4#矩形宽等于图片宽除于4
    ch = bitmap.height / 4#矩形高等于图片高除于4
    src_rect = Rect.new(0, 0, cw, ch)#显示图片内部图片矩形(x,y,宽,高)可以理解为用放大镜看东西,嘻嘻。
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)#(图片xy,bitmap和src_rect在这里是代入的意思)
  end
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 03:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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