leehuaaaa 发表于 2010-5-7 23:05:44

事件换地图怎么样不变黑

就是用事件玩家的迁移换到另一张地图时,怎么才能让画面不会黑一下

secondsen 发表于 2010-5-7 23:39:39

class Scene_Map < Scene_Base
def update_transfer_player
    return unless $game_player.transfer?
    if $transfer_location_fadeout
      @spriteset.dispose            # Dispose of sprite set
      $game_player.perform_transfer   # Execute player transfer
      $game_map.autoplay            # Automatically switch BGM and BGS
      $game_map.update
      @spriteset = Spriteset_Map.new# Recreate sprite set
    else
      fade = (Graphics.brightness > 0)
      fadeout(30) if fade
      @spriteset.dispose            # Dispose of sprite set
      $game_player.perform_transfer   # Execute player transfer
      $game_map.autoplay            # Automatically switch BGM and BGS
      $game_map.update
      Graphics.wait(15)
      @spriteset = Spriteset_Map.new# Recreate sprite set
      fadein(30) if fade
    end
    Input.update
end
end
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ● 执行场所移动
#--------------------------------------------------------------------------
def perform_transfer
    return unless @transferring
    @transferring = false
    set_direction(@new_direction)
    if $game_map.map_id != @new_map_id
      $game_map.setup(@new_map_id)   # 移动至别的地图
    end
end
end
class Game_Interpreter
#--------------------------------------------------------------------------
# ● 场所移动
#--------------------------------------------------------------------------
def command_201
    return true if $game_temp.in_battle
    if $game_player.transfer? or            # 场所移动中
       $game_message.visible                # 正在显示消息
      return false
    end
    if @params == 0                      # 直接指定
      map_id = @params
      x = @params
      y = @params
      direction = @params
    else                                    # 使用变量指定
      map_id = $game_variables[@params]
      x = $game_variables[@params]
      y = $game_variables[@params]
      direction = @params
    end
    $game_player.reserve_transfer(map_id, x, y, direction)
    @index += 1
    return false
end
def transfer_fade(tf = true)
    $transfer_location_fadeout = tf
end
end
# 在场所移动之前使用脚本: transfer_fade 就行了
# 回复时使用transfer_fade(nil) 或 transfer_fade(false)

插在Main前

leehuaaaa 发表于 2010-5-8 01:49:30

回 1楼(secondsen) 的帖子

十分感谢

XP可以选用不用雪花,VX没了这功能,一时没了办法

leehuaaaa 发表于 2010-5-8 02:47:00

好像用不了啊...

一开游戏就提示脚本,行号5:发生了SyntaxError。

secondsen 发表于 2010-5-8 07:48:13

我又试了一遍。。。确实有用。。。LZ确定是这个脚本的问题?

是不是你还用了别的脚本?

leehuaaaa 发表于 2010-5-8 14:03:49

新了个任务试试,果然没问题....
看来和其他脚本有冲突?

其实我就用了那个约束横版...会不会这个的关系?

secondsen 发表于 2010-5-8 18:57:09

你用的脚本我没听说过,事实上不管你用什么外加的脚本我都没听过,具体是不是冲突,怎么解决我就不知道了
页: [1]
查看完整版本: 事件换地图怎么样不变黑