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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
11
 楼主| 发表于 2014-2-23 21:42:28 | 只看该作者
# 生成命令窗口
    s1 = "新游戏"
    s2 = "继续"
    s3 = "退出"
    @command_window = Window_Command.new(192, [s1, s2, s3])#调用一般的命令选择行窗口
我这个地方我们看到中文,呵呵,英文不懂中文总该懂吧!试一试改改中文看看,你会发现脚本还是满神奇的
   s1 = "新游戏"
    s2 = "继续"
    s3 = "退出"
  s4 ="我们的回忆“
@command_window = Window_Command.new(192, [s1, s2, s3,s4])#调用一般的命令选择行窗口
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

     在这里我们看到了一个载图精灵
    # 生成标题图形
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title($data_system.title_name)
嘻嘻前面不变就是后面嘻嘻在title总该知道什么意思吧!
  @sprite = Sprite.new
  @sprite.bitmap = RPG::Cache.title(”你想要的图片“)
试一试在其他地方改改看Scene_Gameover哪里改改看呵呵。
记住释放,精灵就会消失
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
13
 楼主| 发表于 2014-2-24 10:24:37 | 只看该作者
  #--------------------------------------------------------------------------
  # ● 命令 : 新游戏
  #--------------------------------------------------------------------------
  def command_new_game
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 停止 BGM
    Audio.bgm_stop
    # 重置测量游戏时间用的画面计数器
    Graphics.frame_count = 0
    # 生成各种游戏对像
    #这个是调用了game,game早就定义好了这不过现在拿来用,这个很好用可以在事件指令里调用。
    #$自定义窗口 = 自定义窗口(第一个字母大写).new,这个调用窗口以后自己创建窗口会讲到。
    $game_temp          = Game_Temp.new
    #  在没有存档的情况下,处理临时数据的类。
    $game_system        = Game_System.new
    #  处理系统附属数据的类。也可执行诸如 BGM 管理之类的功能。
    $game_switches      = Game_Switches.new
    #  处理开关的类。编入的是类 Array 的外壳。
    $game_variables     = Game_Variables.new
    #  处理变量的类。编入的是类 Array 的外壳。
    $game_self_switches = Game_SelfSwitches.new
    #  处理独立开关的类。编入的是类 Hash 的外壳。
    $game_screen        = Game_Screen.new
    #  更改色调以及画面闪烁、保存画面全体关系处理数据的类。
    $game_actors        = Game_Actors.new
    #  处理角色的类。
    $game_party         = Game_Party.new
    #  处理同伴的类。包含金钱以及物品的信息。
    $game_troop         = Game_Troop.new
    #  处理队伍的类。
    $game_map           = Game_Map.new
    #  处理地图的类。包含卷动以及可以通行的判断功能。
    $game_player        = Game_Player.new
    #  处理主角的类。事件启动的判定、以及地图的滚动等功能。
    # 设置初期同伴位置
    $game_party.setup_starting_members
    #这个在数据库系统中可以看到, $game_party处理同伴的类。
    # 设置初期位置的地图
    $game_map.setup($data_system.start_map_id)
    #这个在地图右键可以看到,就是初期位置id判定。$game_map处理地图的类。
    # 主角向初期位置移动
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    # 这个是把初期位置id的x,y处代入,判定是否能移动,意思就是等事件处理完在做其他事。
    #处理主角的类。事件启动的判定、以及地图的滚动等功能。
    # 刷新主角
    $game_player.refresh
    # 执行地图设置的 BGM 与 BGS 的自动切换
    $game_map.autoplay
    # 刷新地图 (执行并行事件)
    $game_map.update
    # 切换地图画面
    $scene = Scene_Map.new#切换地图
  end#结束
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
14
 楼主| 发表于 2014-2-24 10:35:12 | 只看该作者
在前面我们讲到
  # 命令窗口的光标位置的分支
      case @command_window.index#光标位置的分支就像事件指令里的选择项功能差不多。index是指光标
      when 0  # 新游戏
        command_new_game# 新游戏命令代入
      when 1  # 继续
        command_continue# 继续命令代入
      when 2  # 退出
        command_shutdown # 退出命令代入
      end# 结束
    end# 这里要注意有多少选择项就有多少结束
  end#
而后面 def command_new_game定义了这个原来游戏是层层代入的,不然脚本的长呵呵
如果想添加更多东西在这里加入 when 3呵呵你懂的。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

   #--------------------------------------------------------------------------
  # ● 命令 : 继续
  #--------------------------------------------------------------------------
  def command_continue
    # 继续无效的情况下
    unless @continue_enabled#unless是一个和if相反的词相当于不满足所发生的情况
      # 演奏无效 SE
      $game_system.se_play($data_system.buzzer_se)
      return#返回
    end#结束
    # 演奏确定 SE#这是满足的情况
    $game_system.se_play($data_system.decision_se)
    # 切换到读档画面
    $scene = Scene_Load.new#这个先让大家练习一下,找了门让后在事件指令的脚本里输入这句话,运行游戏到门那里按看看会发生什么?嘻嘻。。
  end#结束
  #--------------------------------------------------------------------------
  # ● 命令 : 退出
  #--------------------------------------------------------------------------
  def command_shutdown
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # BGM、BGS、ME 的淡入淡出
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # 退出
    $scene = nil#返回scene
  end#结束
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

  #--------------------------------------------------------------------------
  # ● 战斗测试
  #--------------------------------------------------------------------------
  def battle_test
    # 载入数据库 (战斗测试用)
    $data_actors        = load_data("Data/BT_Actors.rxdata")# 载入角色战斗数据库
    $data_classes       = load_data("Data/BT_Classes.rxdata")#载入职业战斗数据库
    $data_skills        = load_data("Data/BT_Skills.rxdata")#载入特技战斗数据库
    $data_items         = load_data("Data/BT_Items.rxdata")#载入物品战斗数据库
    $data_weapons       = load_data("Data/BT_Weapons.rxdata")#载入武器战斗数据库
    $data_armors        = load_data("Data/BT_Armors.rxdata")#载入防具战斗数据库
    $data_enemies       = load_data("Data/BT_Enemies.rxdata")#载入敌人战斗数据库
    $data_troops        = load_data("Data/BT_Troops.rxdata")#载入队伍战斗数据库
    $data_states        = load_data("Data/BT_States.rxdata")#载入状态战斗数据库
    $data_animations    = load_data("Data/BT_Animations.rxdata")#载入动画战斗数据库
    $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")#载入图块战斗数据库
    $data_common_events = load_data("Data/BT_CommonEvents.rxdata")#载入公共事件战斗数据库
    $data_system        = load_data("Data/BT_System.rxdata")#载入系统战斗数据库
    # 重置测量游戏时间用的画面计数器
    Graphics.frame_count = 0#时间不需要计算的话再前面加个#就可以了。
    # 生成各种游戏对像
    #这个在命令 : 新游戏那里有讲。。
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    # 设置战斗测试用同伴
    $game_party.setup_battle_test_members
    #$game_party处理同伴的类。包含金钱以及物品的信息。
    #载入编号再运行,就像老师在课堂上念的座位号你可以这样理解。
    #因为软件本身就不会翻译只能通过编号处理
    # 设置队伍 ID、可以逃走标志、战斗背景
    $game_temp.battle_troop_id = $data_system.test_troop_id
    # $game_temp在没有存档的情况下,处理临时数据的类。
    #battle_troop_id战斗队伍的ID代入系统附属数据id(即怪兽)
    $game_temp.battle_can_escape = true
    # $game_temp在没有存档的情况下判定是否逃走的真假,如果以后不用用到逃走系统其实这个可以不用。
    $game_map.battleback_name = $data_system.battleback_name
    # $game_map处理地图的类。包含卷动以及可以通行的判断功能。
   # battleback_name战斗背景图名字battleback在文件夹Graphics里能找到
    #即把战斗背景图名字代入系统附属战斗背景图名字
    # 演奏战斗开始 BGM
    $game_system.se_play($data_system.battle_start_se)
    # 演奏战斗 BGM
    $game_system.bgm_play($game_system.battle_bgm)
    # 切换到战斗画面
    $scene = Scene_Battle.new
  end#这里的两个结束其实是切换的战斗画面后需要有一个,def定义需要一个。
end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
17
 楼主| 发表于 2014-2-25 21:57:01 | 只看该作者
芯☆淡茹水 发表于 2014-2-23 09:23
battle_test#调用方法:battle_test
@command_window.x = 320 - @command_window.width / 2#窗口左右居中。 ...

谢谢修正。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

现在我们开始创建属于自己的窗口
class Scene_Ax
    def main

    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 #原来这个是居中的意思。。
    @command_window.y = 288
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update #后面会有定义刷新
      # 如果画面被切换就中断循环
      if $scene != self
        break
      end
    end
    # 执行过渡
    Graphics.freeze
   #释放@command窗口
    @command_window.dispose
  end
  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
#$scene = Scene_Ax.new
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
19
 楼主| 发表于 2014-2-25 23:12:08 | 只看该作者
在事件指令输入这句话就变成嘻嘻(但是功能我还没有设置)
$scene = Scene_Ax.new

QQ图片20140225230943.jpg (22.52 KB, 下载次数: 11)

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2014-2-20
帖子
87
20
 楼主| 发表于 2014-3-1 09:48:40 | 只看该作者
大家看到后面黑黑的没什么那是因为我们没图进去我先在开始放图了我在Graphics文件夹里新建一个自己的文件夹Ax来放图片,我把我的图片放进去。然后在脚本   
里执行过渡前添加这句话
@ax = Sprite.new #把变量ax代入精灵
@ax.bitmap = Bitmap.new("Graphics/Ax/我的图片.png")#设置地图图片途径
在#释放@command窗口
下面添加    @ax.bitmap.dispose
脚本就变成这样
class Scene_Ax
    def main

    # 生成标题图形
    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 #原来这个是居中的意思。。
    @command_window.y = 288
    @ax = Sprite.new
    @ax.bitmap = Bitmap.new("Graphics/Ax/我的图片.png")
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update #后面会有定义刷新
      # 如果画面被切换就中断循环
      if $scene != self
        break
      end
    end
    # 执行过渡
    Graphics.freeze
   #释放@command窗口
    @command_window.dispose
    @ax.bitmap.dispose

  end
  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
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 09:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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