Project1

标题: 改变战斗前后信息对话框的位置 [打印本页]

作者: shencao    时间: 2015-5-4 01:04
标题: 改变战斗前后信息对话框的位置
我想要战斗前的遇敌和战斗后结算的这个对话框都居中显示,(就是显示文字居上居中居下的那个居中)
脚本苦手,搜了关键字还是毫无头绪_(:з」∠)_ 求指点>_<
作者: cinderelmini    时间: 2015-5-4 13:27
没理解错的话~大概是这样:
脚本:Scene_Battle
之一:
  1.   #--------------------------------------------------------------------------
  2.   # ● 战斗开始
  3.   #--------------------------------------------------------------------------
  4.   def self.battle_start
  5.     $game_system.battle_count += 1
  6.     $game_party.on_battle_start
  7.     $game_troop.on_battle_start
  8.     $game_troop.enemy_names.each do |name|
  9.       $game_message.add(sprintf(Vocab::Emerge, name))
  10.     end
  11.     $game_message.position = 1 #a
  12.     if @preemptive
  13.       $game_message.add(sprintf(Vocab::Preemptive, $game_party.name))
  14.     elsif @surprise
  15.       $game_message.add(sprintf(Vocab::Surprise, $game_party.name))
  16.     end
  17.     wait_for_message
  18.     $game_message.position = 0 #a
  19.   end
复制代码
之二:
  1.   #--------------------------------------------------------------------------
  2.   # ● 胜利时的处理
  3.   #--------------------------------------------------------------------------
  4.   def self.process_victory
  5.     play_battle_end_me
  6.     replay_bgm_and_bgs
  7.     $game_message.position = 1 #a
  8.     $game_message.add(sprintf(Vocab::Victory, $game_party.name))
  9.     display_exp
  10.     gain_gold
  11.     gain_drop_items
  12.     gain_exp
  13.     SceneManager.return
  14.     battle_end(0)
  15.     return true
  16.   end
复制代码
之三:
  1.   #--------------------------------------------------------------------------
  2.   # ● 撤退时的处理
  3.   #--------------------------------------------------------------------------
  4.   def self.process_escape
  5.     $game_message.position = 1 #a
  6.     $game_message.add(sprintf(Vocab::EscapeStart, $game_party.name))
  7.     success = @preemptive ? true : (rand < @escape_ratio)
  8.     Sound.play_escape
  9.     if success
  10.       process_abort
  11.     else
  12.       @escape_ratio += 0.1
  13.       $game_message.add('\.' + Vocab::EscapeFailure)
  14.       $game_party.clear_actions
  15.     end
  16.     wait_for_message
  17.     return success
  18.   end
复制代码
之四:
  1.   #--------------------------------------------------------------------------
  2.   # ● 全灭时的处理
  3.   #--------------------------------------------------------------------------
  4.   def self.process_defeat
  5.     $game_message.position = 1 #a
  6.     $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
  7.     wait_for_message
  8.     if @can_lose
  9.       revive_battle_members
  10.       replay_bgm_and_bgs
  11.       SceneManager.return
  12.     else
  13.       SceneManager.goto(Scene_Gameover)
  14.     end
  15.     battle_end(2)
  16.     return true
  17.   end
复制代码
之五:
  1.   #--------------------------------------------------------------------------
  2.   # ● 战斗结束
  3.   #     result : 结果(0:胜利 1:撤退 2:全灭)
  4.   #--------------------------------------------------------------------------
  5.   def self.battle_end(result)
  6.     @phase = nil
  7.     @event_proc.call(result) if @event_proc
  8.     $game_party.on_battle_end
  9.     $game_troop.on_battle_end
  10.     SceneManager.exit if $BTEST
  11.     $game_message.position = 0 #a
  12.   end
复制代码
以上,所有带"#a"的句子加进去大概就好了~
PS:本来想直接在判定结果的那段加上位置修改的,但是不知道为什么,没起效……可能是打开姿势不对……
作者: shencao    时间: 2015-5-4 17:44
本帖最后由 shencao 于 2015-5-4 18:06 编辑
cinderelmini 发表于 2015-5-4 13:27
没理解错的话~大概是这样:
脚本:Scene_Battle
之一:之二:之三:之四:之五:以上,所有带"#a"的句子加 ...


成功了,开心!太感谢了!!!!


补充一下:获得物品和升级信息也是同样的,找到相应的地方插♂入就好~
原来都在BattleManager里啊,又学习到了真开心wwwwwww还可以各自单独调整好方便(心思又活络了起来wwwww




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1