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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
21
 楼主| 发表于 2014-3-1 09:57:37 | 只看该作者
在事件指令输入这句话就变成这样嘻嘻(图片png是格式一定得记得输。。)
$scene = Scene_Ax.new

QQ截图20140301095551.png (366.8 KB, 下载次数: 15)

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
22
 楼主| 发表于 2014-3-1 11:24:17 | 只看该作者
我们把五号变量做为仇恨度如图

仇恨度.png (19.59 KB, 下载次数: 12)

仇恨度.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
23
 楼主| 发表于 2014-3-1 11:30:50 | 只看该作者
在Scene_Ax脚本里找得到这个
def update
    # 刷新命令窗口
    @command_window.update
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 命令窗口的光标位置的分支
      case @command_window.index
      when 0  # 新游戏
         $scene = Scene_Map.new
      when 1  # 继续
        $scene = Scene_Map.new
      when 2  # 退出
         $scene = Scene_Map.new
      end
    end
  end
end
在 when 0下面分别添加
$game_variables[5] = $game_variables[5] + 1#5号变量加一
在 when 1下面分别添加
$game_variables[5] = $game_variables[5] + 2#5号变量加二
在 when 2下面分别添加
$game_variables[5] = $game_variables[5] + 3#5号变量加三
就变成这样
def update
    # 刷新命令窗口
    @command_window.update
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 命令窗口的光标位置的分支
      case @command_window.index
      when 0  # 新游戏
         $game_variables[5] = $game_variables[5] + 1
         $scene = Scene_Map.new
      when 1  # 继续
        $game_variables[5] = $game_variables[5] + 2
        $scene = Scene_Map.new
      when 2  # 退出
         $game_variables[5] = $game_variables[5] + 3
         $scene = Scene_Map.new
      end
    end
  end
end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
24
 楼主| 发表于 2014-3-1 11:33:36 | 只看该作者
在事件指令里设置
变量仇恨度大于等于二时进行战斗如图

QQ截图20140301113257.png (44.94 KB, 下载次数: 8)

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

使用道具 举报

Lv3.寻梦者

○赛

梦石
0
星屑
1249
在线时间
1276 小时
注册时间
2013-1-22
帖子
2246

贵宾

25
发表于 2014-3-1 16:41:13 | 只看该作者
这个贴子从提问帖直接变身为教学贴了吗?
教学贴发在提问区应该不会扣分,但是会几乎没有奖励的经验~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
26
 楼主| 发表于 2014-3-1 16:48:32 | 只看该作者
现在开始讲下一个Scene
class Scene_Map 
#这是处理地图画面的类,是开始标题所调用的唯一活动块。
#在Scene_Title命令 : 新游戏  # 切换地图画面里有把这个调用这个  $scene = Scene_Map.new
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main#这是 Scene特有的分类主处理标志
    # 生成活动块
    @spriteset = Spriteset_Map.new
    # 生成信息窗口
    @message_window = Window_Message.new
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update#这个刷新后面有定义这里是代入
      # 如果画面切换的话就中断循环
      if $scene != self#这个经常用到是用来判定scene画面是否被切换
        break#中断循环
      end#结束
    end
    # 准备过渡
    Graphics.freeze
    # 释放活动块
    @spriteset.dispose
    # 释放信息窗口
    @message_window.dispose
    # 标题画面切换中的情况下
    if $scene.is_a?(Scene_Title)#判定是否为开始标题切换过来的
      # 淡入淡出画面
      Graphics.transition#执行过渡
      Graphics.freeze#准备过渡
    end结束
  end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
27
 楼主| 发表于 2014-3-1 16:58:03 | 只看该作者
天地有正气 发表于 2014-3-1 16:41
这个贴子从提问帖直接变身为教学贴了吗?
教学贴发在提问区应该不会扣分,但是会几乎没有奖励的经验~ ...

我是新手,写的不是教学也有些错误,我是想让一些前辈能指出我的错误,这样我才能进步,不需要奖励,这是过来和大家一起学习,共同进步。。。希望大家给出意见,多多交流共同进步。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

  def update
    # 循环
    loop do
      # 按照地图、实例、主角的顺序刷新
      # (本更新顺序不会在满足事件的执行条件下成为给予角色瞬间移动
      #  的机会的重要因素)
      $game_map.update#$game_map 处理地图的类updat刷新
      $game_system.map_interpreter.update
      #game_system处理系统附属数据的类。
      #map地图interpreter事件指令
      #处理系统地图事件指令的刷新
      $game_player.update
      #处理主角的类的刷新
      # 系统 (计时器)、画面刷新
      $game_system.update     
      #game_system处理系统附属数据的类的刷新
      $game_screen.update
      #更改色调以及画面闪烁、保存画面全体关系处理数据的类的刷新
      # 如果主角在场所移动中就中断循环
      unless $game_temp.player_transferring
        # player_transferring
        # 主角场所移动标志这个Game_Temp最顶端的脚本有定义的实例变量
        #这里明显在教会我们如何使用实例变量
        #实例变量全局收索attr_accessor可以找到
        break#中断循环
      end#结束
      # 执行场所移动
      transfer_player#场所移动在后面有定义
      # 处理过渡中的情况下、中断循环
      if $game_temp.transition_processing
        #这个上面有讲运用实例变量主角场所移动标志
        #和上面不同得是unless 是指不满足的情况而下面是指满足的情况
        break#中断循环
      end#结束
    end
    # 刷新活动块
    @spriteset.update
    # 刷新信息窗口
    @message_window.update
    # 游戏结束的情况下
    if $game_temp.gameover
      #$是指全局变量这里也是调用了实例
     # gameover  # 游戏结束标志
      # 切换的游戏结束画面
      $scene = Scene_Gameover.new
      return#返回
    end#结束
    # 返回标题画面的情况下
    if $game_temp.to_title
      #如果to_title # 返回标题画面标志满足的情况下
      # 切换到标题画面
      $scene = Scene_Title.new
      return#返回
    end#结束
    # 处理过渡中的情况下
    if $game_temp.transition_processing
      #transition_processing  # 调用$game_temp中实例变量标志,过渡处理中标志
      # 清除过渡处理中标志
      $game_temp.transition_processing = false
      # 判定过渡处理中标志的赋值真伪真伪true、真为false
      #这个在Scene_Title开始标题中判定存档真假有相似之处
      #这样说能大家好理解些就是菜单或标题与场景移动所用的过渡处理不同。
      # 执行过渡
      if $game_temp.transition_name == ""
        #调用$game_temp 变量标志 transition_name # 过渡 文件名
        #把实例变量代入 ""在这里可以把他当成一个没放东西的包包,嘻嘻。
        Graphics.transition(20)
        #执行渐变过渡,后面的二十是指延长2秒时间
      else
        Graphics.transition(40, "Graphics/Transitions/" +
          $game_temp.transition_name)
        #执行渐变过渡,后面的四十是指延长4秒时间
        #$game_temp.transition_name是过渡文件名,上面提过。
        #“”里的东西是装入包包的东西。实例变量无法在包包里。
        #包包不是所有东西都能装哦!要是女人的话一定不行,呵呵!说笑的。
      end#结束
    end
    # 显示信息窗口中的情况下
    if $game_temp.message_window_showing
      #调用$game_temp实例变量 message_window_showing# 显示信息窗口
      return#返回
    end#结束
    # 遇敌计数为 0 且、且遇敌列表不为空的情况下
    if $game_player.encounter_count == 0 and $game_map.encounter_list != []
      #encounter_count是获取遇敌计数在 $game_player  # ● 获取遇敌计数有定义
      #当遇敌计数为 0
      #encounter_list获取遇敌列表这个在$game_map中有定义
      #这个!在Scene_Title有出现过意思是被切换,这里是切换遇敌列表中敌人
      #在游戏软件坐下角地图名称中点有键在地图设置里可以看到遇敌率列表。
      #这里的意思是把遇敌率列表中敌人随机挑选。
      #这个中包包大家应该明白吧!这里要注意的是变量用的包包是中包包哦!嘻嘻。
      #而且=好只有一个哦!和上面对比就知道了
      # 不是在事件执行中或者禁止遇敌中
      unless $game_system.map_interpreter.running? or
             $game_system.encounter_disabled
          #调用$game_system实例标志map_interpreter # 地图事件用解释程序
          #running?执行中判定在Interpreter 1● 执行中判定中有定义。
          #连在一起就是地图事件执行中判定
          #or是或的意思
          #这个调用了 $game_system实例变量
          #encounter_disabledencounter_disabled # 禁止遇敌
          # unless 是不满足的情况
        # 确定队伍
        n = rand($game_map.encounter_list.size)
        #这个在game_map中有定义encounter_list意思是● 获取遇敌列表
        #size数量 rand是随机数并把他代入n
        #意思是随机获取遇敌列表中的敌人中的人数的数量代入n
        troop_id = $game_map.encounter_list[n]
        #troop_id : 循环 ID在Game_Enemy中有定义
        #encounter_list意思是● 获取遇敌列表
        #循环 ID代入实例变量中[n]是人数有多少人的意思
        # 队伍有效的话
        if $data_troops[troop_id] != nil
          #nil是以数组的形式放回
          #调用数据库中的敌人队伍
          #把循环 ID切换进敌人队伍中进行判定
          # 设置调用战斗标志
          $game_temp.battle_calling = true
          #调用game_temp实例变量中battle_calling # 调用战斗的标志
          # 判定处理中标志的赋值真伪真伪true、真为false
          $game_temp.battle_troop_id = troop_id
          #调用game_temp实例变量标志battle_troop_id  # 战斗队伍ID
          #把他代入troop_id : 循环 ID
          $game_temp.battle_can_escape = true
          #调用game_temp实例变量标志中battle_can_escape  # 战斗中 允许逃跑 ID
           # 判定处理中标志的赋值真伪真伪true、真为false
          $game_temp.battle_can_lose = false
          #调用game_temp实例变量标志中battle_can_lose # 战斗中 允许失败 ID
           # 判定处理中标志的赋值真伪真伪true、真为false
          $game_temp.battle_proc = nil
          #调用game_temp实例变量标志中battle_proc   # 战斗 返回调用 (Proc)
        end
      end
    end
   # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 不是在事件执行中或菜单禁止中
      unless $game_system.map_interpreter.running? or
             $game_system.menu_disabled
        # 设置菜单调用标志以及 SE 演奏
        $game_temp.menu_calling = true
        $game_temp.menu_beep = true
      end
    end
    # 调试模式为 ON 并且按下 F9 键的情况下
    if $DEBUG and Input.press?(Input::F9)
      # 设置调用调试标志
      $game_temp.debug_calling = true
      # 判定处理中标志的赋值真伪真伪true、真为false
    end
    # 不在主角移动中的情况下
    unless $game_player.moving?
      # 执行各种画面的调用
      if $game_temp.battle_calling#清除战斗调用标志
        call_battle #后面在调用战斗有定义这里是代入的意思
      elsif $game_temp.shop_calling# 清除商店调用标志
        call_shop#后面在调用商店有定义这里是代入的意思
      elsif $game_temp.name_calling # 清除调用名称输入标志
        call_name#后面在调用名称输入有定义这里是代入的意思
      elsif $game_temp.menu_calling # 清除菜单调用标志
        call_menu#后面在调用菜单有定义这里是代入的意思
      elsif $game_temp.save_calling# 清除存档调用标志
        call_save#后面在调用存档有定义这里是代入的意思
      elsif $game_temp.debug_calling# 清除调用调试标志
        call_debug#后面在调用调试有定义这里是代入的意思
      end
    end
  end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
29
 楼主| 发表于 2014-3-2 09:47:18 | 只看该作者
这个刷新太长估计有点乱我在这里简单讲解一下
loop do 这里运用了一个刷新的循环
让地图里都按照这个循环处理
之后编写了各类画面的刷新以及活动块的刷新
循环中断 在Transitions文件夹里拿图进行过渡
在遇敌列表中随机挑选队伍并判定人数
之后就调用各种战斗标志及清除各种战斗标志
呵呵地图循环内容真多呀!1
这里重点掌握如何调用game_temp的实例变量
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
30
 楼主| 发表于 2014-3-2 09:51:18 | 只看该作者
  def call_battle#定义调用战斗
    # 清除战斗调用标志
    $game_temp.battle_calling = false
    #确认战斗调用标志为真
    # 清除菜单调用标志
    $game_temp.menu_calling = false
    #调用game_temp实例变量 menu_calling # 菜单调用标志
    $game_temp.menu_beep = false
    #调用game_temp实例变量menu_beep # 菜单 SE 演奏标志
    # 生成遇敌计数
    $game_player.make_encounter_count
    # 记忆地图 BGM 、停止 BGM
    $game_temp.map_bgm = $game_system.playing_bgm
    $game_system.bgm_stop
    # 演奏战斗开始 SE
    $game_system.se_play($data_system.battle_start_se)
    # 演奏战斗 BGM
    $game_system.bgm_play($game_system.battle_bgm)
    # 矫正主角姿势
    $game_player.straighten
    # 切换到战斗画面
    $scene = Scene_Battle.new
  end
#和上面进行核对后记忆地图音乐让后停止他接着切换到战斗画面,战斗画面之后在Scene_Battle会有定义这里只是代入的意思。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-28 04:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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