2006年5月更新(教程,不是范例工程),更新后的这种call_battle,打开4号开关则是正常的战斗。 这个效果可以用在战斗前主角来段对白或者头上冒出一个感叹号什么的。如果是在地图上直接战斗效果更好。 在Scene_Map中有一个函数:call_battle,这个会执行战斗处理。 改为如下内容: #-------------------------------------------------------------------------- # ● 调用战斗 #-------------------------------------------------------------------------- def call_battle if $game_switches[4] then # 清除战斗调用标志 $game_temp.battle_calling = false # 清除菜单调用标志 $game_temp.menu_calling = false $game_temp.menu_beep = false # 生成遇敌计数 $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 return end # 清除战斗调用标志 $game_temp.battle_calling = false # 清除菜单调用标志 $game_temp.menu_calling = false $game_temp.menu_beep = false # 生成遇敌计数 $game_player.make_encounter_count # 记忆地图 BGM 、停止 BGM $game_temp.map_bgm = $game_system.playing_bgm $game_temp.common_event_id = 1 end 改了什么呢?其实就是把更改音乐为战斗音乐、播放一个战斗声效这段给删除了。然后设置公共事件1号。这个1号就是每次战斗之前都会执行的内容了。里面随便恶搞什么都行了。 比如先来段对话,然后显示几个表情。最后——开始战斗。开始战斗这段,使用如下脚本: 本帖相关代码如下: $game_system.bgm_stop $game_system.se_play( $data_system.battle_start_se) $game_system.bgm_play( $game_system.battle_bgm) $game_player.straighten $scene = Scene_Battle.new 其实就是把修改时候删掉的脚本写在事件中,包括更改背景音乐、播放声效、固定角色、开始战斗。
|