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

Project1

 找回密码
 注册会员
搜索
查看: 12704|回复: 8
打印 上一主题 下一主题

[已经解决] [已解决]人物跟随和传送脚本冲突,如何解决?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
14616
在线时间
2196 小时
注册时间
2019-1-24
帖子
1123

R考场第七期纪念奖

跳转到指定楼层
1
发表于 2019-11-11 15:43:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 miantouchi 于 2019-11-15 07:28 编辑

最近正在整理大地图传送部分,但是发现和以前用的人物跟随脚本发生了冲突,
报错内容如下图,提示没有定义那个方法并且为nil。
经过排查后发现报错行在传送脚本163行引起的
话说我把这行打上注释,暂时也能用,但是还是希望解决下冲突点,和冲突的原因
工程以上传。
RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4.  
  5. # 自定义内容解释:
  6. # TOWNS[编号]=["地名,可以随便写",开关编号,[传送去的地图id,传送去的地图x,
  7. #              传送去的地图y],角色朝向]
  8. #
  9. # 编号请按照0、1、2、3……顺序往下排布
  10. # 当编号的开关打开的时候,才可以选择这个传送地点
  11. # 角色朝向,2为下,4为左,6为右,8为上,具体可以参考自己数字小键盘的方向和数字关系
  12. # 如果是其他方向请自己改。
  13. #
  14. # 需要制作脚本,请点击66rpg.com最底部的QQ交谈
  15. #
  16. # 使用方法:在需要传送的传送门、传送石、传送羽毛、传送旅店一类的地方使用公共事件:
  17. #           呼叫脚本:$scene = Scene_Teleport.new
  18. #
  19. # 制作者:柳柳
  20. #==============================================================================
  21. TOWNS=[]
  22. TOWNS[0]=["古德城堡东门",1,[1,2,3],2]
  23. TOWNS[1]=["古德城堡西门",2,[1,2,5],4]
  24. TOWNS[2]=["修道院门口",3,[3,3,6],4]
  25. TOWNS[3]=["女神遗迹南口",4,[4,2,6],4]
  26. TOWNS[4]=["圣天城骑士团练兵场",5,[5,2,6],4]
  27. TOWNS[5]=["许愿之塔",6,[6,9,6],4]
  28. #==============================================================================
  29. # ■ Window_Teleport
  30. #------------------------------------------------------------------------------
  31. #  处理传送的窗口
  32. #==============================================================================
  33. class Window_Teleport < Window_Selectable
  34.   #--------------------------------------------------------------------------
  35.   # ● 初始化对像
  36.   #--------------------------------------------------------------------------
  37.   def initialize
  38.     super(640,640,64,64)
  39.     self.contents = Bitmap.new(width, height)
  40.     self.opacity = 180
  41.     get_towns
  42.     draw_towns
  43.     @column_max = 1
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 获取可到达的城镇和窗口大小
  47.   #--------------------------------------------------------------------------
  48.   def get_towns
  49.     @carol3_towns = []
  50.     @width_temp = 0
  51.     @cont_use = false
  52.     for town in TOWNS
  53.       if $game_switches[town[1]]==true
  54.         @carol3_towns.push(town)
  55.         if contents.text_size(town[0]).width >= @width_temp
  56.           @width_temp = contents.text_size(town[0]).width
  57.         end
  58.       end
  59.     end
  60.     @item_max = @carol3_towns.size
  61.     if @item_max == 0
  62.       @carol3_towns[0] = ["没有可以传送的地方",1,[1,1,1]]
  63.       @width_temp = contents.text_size(@carol3_towns[0][0]).width
  64.       @item_max = 1
  65.       @cont_use = true
  66.     end
  67.     self.width = [@width_temp+32,480].min
  68.     self.height = [(@item_max+1)*32,360].min
  69.     self.x = (640-self.width)/2
  70.     self.y = (480-self.height)/2
  71.     self.contents = Bitmap.new(width-32,row_max*32)
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 描绘城镇名称
  75.   #--------------------------------------------------------------------------
  76.   def draw_towns
  77.     for i in 0...@carol3_towns.size
  78.       self.contents.draw_text(0,i*32,@width_temp,32,@carol3_towns[i][0],1)
  79.     end
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # ● 返回的内容
  83.   #========================================================================
  84.   # ● 地图编号
  85.   #--------------------------------------------------------------------------
  86.   def map_id
  87.     return @carol3_towns[self.index][2][0]
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 地图x坐标
  91.   #--------------------------------------------------------------------------
  92.   def map_x
  93.     return @carol3_towns[self.index][2][1]
  94.   end      
  95.   #--------------------------------------------------------------------------
  96.   # ● 地图y坐标
  97.   #--------------------------------------------------------------------------
  98.   def map_y
  99.     return @carol3_towns[self.index][2][2]
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 角色朝向
  103.   #--------------------------------------------------------------------------
  104.   def map_direction
  105.     return @carol3_towns[self.index][2][3]
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 判断是否一个城市都没有
  109.   #--------------------------------------------------------------------------
  110.   def cant_use?
  111.     return @cont_use
  112.   end
  113. end
  114. #==============================================================================
  115. # ■ Scene_Teleport
  116. #------------------------------------------------------------------------------
  117. #  处理传送执行的类
  118. #==============================================================================
  119. class Scene_Teleport
  120.   #--------------------------------------------------------------------------
  121.   # ● 主处理
  122.   #--------------------------------------------------------------------------
  123.   def main
  124.     $game_system.se_play($data_system.decision_se)
  125.     @carol3_trans_white = false
  126.     #p "1"
  127.     @carol3_map_sprite = Spriteset_Map.new
  128.     #p "2"
  129.     @carol3_teleport_window = Window_Teleport.new
  130.     #p "3"
  131.     if @carol3_teleport_window.cant_use?
  132.       @carol3_teleport_window.index = -1
  133.     else
  134.       @carol3_teleport_window.index = 0
  135.     end
  136.     @carol3_teleport_window.active = true
  137.     Graphics.transition
  138.     loop do
  139.       Graphics.update
  140.       Input.update
  141.       carol3_update
  142.       if $scene != self
  143.         break
  144.       end
  145.     end
  146.     #p "4"
  147.     if @carol3_trans_white==true
  148.       @carol3_white_sprite = Sprite.new
  149.       @carol3_white_sprite.bitmap = Bitmap.new(640,480)
  150.       @carol3_white_sprite.opacity = 0
  151.       @carol3_white_sprite.bitmap.fill_rect(0, 0, 640, 480, Color.new(255,255,255,255))
  152.       for i in 0..20
  153.         @carol3_white_sprite.opacity += 15
  154.         @carol3_teleport_window.opacity -= 12
  155.         @carol3_teleport_window.contents_opacity -= 12
  156.         Graphics.update
  157.       end
  158.       Graphics.freeze
  159.       Graphics.transition(0)
  160.       Graphics.update
  161.       @carol3_map_sprite.dispose
  162.       $game_map.setup($game_temp.player_new_map_id)
  163.       $game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y)
  164.       $game_player.turn_down
  165.       $game_player.straighten
  166.       $game_map.autoplay  
  167.       Graphics.frame_reset
  168.       for i in 0..20
  169.         @carol3_white_sprite.opacity -= 15
  170.         Graphics.update
  171.       end
  172.       @carol3_white_sprite.dispose
  173.       @carol3_teleport_window.dispose
  174.       Graphics.freeze
  175.     else
  176.       Graphics.freeze
  177.       @carol3_teleport_window.dispose
  178.       @carol3_map_sprite.dispose
  179.     end   
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # ● 刷新画面
  183.   #--------------------------------------------------------------------------
  184.   def carol3_update
  185.     @carol3_teleport_window.update
  186.     if Input.trigger?(Input::B)
  187.       $game_system.se_play($data_system.cancel_se)
  188.       $scene = Scene_Map.new
  189.       return
  190.     end
  191.     if Input.trigger?(Input::C)
  192.       if @carol3_teleport_window.index == -1
  193.         $game_system.se_play($data_system.cancel_se)
  194.         $scene = Scene_Map.new
  195.         return
  196.       else        
  197.         $game_temp.player_new_map_id = @carol3_teleport_window.map_id
  198.         $game_temp.player_new_x = @carol3_teleport_window.map_x
  199.         $game_temp.player_new_y = @carol3_teleport_window.map_y
  200.         $game_temp.player_new_direction = @carol3_teleport_window.map_direction
  201.         $game_temp.player_transferring = true
  202.         $game_temp.transition_processing = true
  203.         $game_temp.transition_name = ""
  204.         $scene = Scene_Map.new
  205.         @carol3_trans_white = true
  206.         Audio.se_play("Audio/SE/" + "018-Teleport01",100,100)
  207.         return
  208.       end
  209.     end   
  210.   end
  211. end
  212.  
  213. #==============================================================================
  214. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  215. #==============================================================================



RUBY 代码复制
  1. #==========================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息 [url]www.rgss.cn[/url] 同能网
  3. #==========================================================================
  4. # ————————————————————————————————————
  5. # ▼▲▼ XRXS13. パーティ列車移動 ver.1.02 ▼▲▼
  6. # by fukuyama
  7. #
  8. # Train_Actor
  9. #
  10. # [url]http://www4.big.or.jp/~fukuyama/rgss/Train_Actor.txt[/url]
  11. #
  12. module Train_Actor
  13.   #是否使用停止跟随的方法,也就是说,这里false改为true的时候,如果      
  14.   #TRANSPARENT_SWITCHES_INDEX
  15.   #开关打开,跟随的人物就消失了(其实只是变成透明而已)
  16.   TRANSPARENT_SWITCH = true
  17.   TRANSPARENT_SWITCHES_INDEX = 20
  18.   #举例:第一个为true,第二个为20,则打开20号开关,后面的人都没了。
  19.  
  20.   #跟随人数的最大数目,可以更改为2、3什么的。
  21.   TRAIN_ACTOR_SIZE_MAX = 4
  22.  
  23.   # 定数
  24.   #Input::DOWN = 2
  25.   #Input::LEFT = 4
  26.   #Input::RIGHT = 6
  27.   #Input::UP = 6
  28.   DOWN_LEFT = 1
  29.   DOWN_RIGHT = 3
  30.   UP_LEFT = 7
  31.   UP_RIGHT = 9
  32.   JUMP = 5
  33.   class Game_Party_Actor < Game_Character
  34.     def initialize
  35.       super()
  36.       @through = true
  37.     end
  38.     def setup(actor)
  39.       # キャラクターのファイル名と色相を設定
  40.       if actor != nil
  41.         @character_name = actor.character_name
  42.         @character_hue = actor.character_hue
  43.       else
  44.         @character_name = ""
  45.         @character_hue = 0
  46.       end
  47.       # 不透明度と合成方法を初期化
  48.       @opacity = 255
  49.       @blend_type = 0
  50.     end
  51.     def screen_z(height = 0)
  52.       if $game_player.x == @x and $game_player.y == @y
  53.         return $game_player.screen_z(height) - 1
  54.       end
  55.       super(height)
  56.     end
  57.     #--------------------------------------------------------------------------
  58.     # ● 下に移動
  59.     # turn_enabled : その場での向き変更を許可するフラグ
  60.     #--------------------------------------------------------------------------
  61.     def move_down(turn_enabled = true)
  62.       # 下を向く
  63.       if turn_enabled
  64.         turn_down
  65.       end
  66.       # 通行可能な場合
  67.       if passable?(@x, @y, Input::DOWN)
  68.         # 下を向く
  69.         turn_down
  70.         # 座標を更新
  71.         @y += 1
  72.       end
  73.     end
  74.     #--------------------------------------------------------------------------
  75.     # ● 左に移動
  76.     # turn_enabled : その場での向き変更を許可するフラグ
  77.     #--------------------------------------------------------------------------
  78.     def move_left(turn_enabled = true)
  79.       # 左を向く
  80.       if turn_enabled
  81.         turn_left
  82.       end
  83.       # 通行可能な場合
  84.       if passable?(@x, @y, Input::LEFT)
  85.         # 左を向く
  86.         turn_left
  87.         # 座標を更新
  88.         @x -= 1
  89.       end
  90.     end
  91.     #--------------------------------------------------------------------------
  92.     # ● 右に移動
  93.     # turn_enabled : その場での向き変更を許可するフラグ
  94.     #--------------------------------------------------------------------------
  95.     def move_right(turn_enabled = true)
  96.       # 右を向く
  97.       if turn_enabled
  98.         turn_right
  99.       end
  100.       # 通行可能な場合
  101.       if passable?(@x, @y, Input::RIGHT)
  102.         # 右を向く
  103.         turn_right
  104.         # 座標を更新
  105.         @x += 1
  106.       end
  107.     end
  108.     #--------------------------------------------------------------------------
  109.     # ● 上に移動
  110.     # turn_enabled : その場での向き変更を許可するフラグ
  111.     #--------------------------------------------------------------------------
  112.     def move_up(turn_enabled = true)
  113.       # 上を向く
  114.       if turn_enabled
  115.         turn_up
  116.       end
  117.       # 通行可能な場合
  118.       if passable?(@x, @y, Input::UP)
  119.         # 上を向く
  120.         turn_up
  121.         # 座標を更新
  122.         @y -= 1
  123.       end
  124.     end
  125.     #--------------------------------------------------------------------------
  126.     # ● 左下に移動
  127.     #--------------------------------------------------------------------------
  128.     def move_lower_left
  129.       # 向き固定でない場合
  130.       unless @direction_fix
  131.         # 右向きだった場合は左を、上向きだった場合は下を向く
  132.         @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::UP ? Input::DOWN : @direction)
  133.       end
  134.       # 下→左、左→下 のどちらかのコースが通行可能な場合
  135.       if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
  136.           (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
  137.         # 座標を更新
  138.         @x -= 1
  139.         @y += 1
  140.       end
  141.     end
  142.     #--------------------------------------------------------------------------
  143.     # ● 右下に移動
  144.     #--------------------------------------------------------------------------
  145.     def move_lower_right
  146.       # 向き固定でない場合
  147.       unless @direction_fix
  148.         # 左向きだった場合は右を、上向きだった場合は下を向く
  149.         @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::UP ? Input::DOWN : @direction)
  150.       end
  151.       # 下→右、右→下 のどちらかのコースが通行可能な場合
  152.       if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
  153.           (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
  154.         # 座標を更新
  155.         @x += 1
  156.         @y += 1
  157.       end
  158.     end
  159.     #--------------------------------------------------------------------------
  160.     # ● 左上に移動
  161.     #--------------------------------------------------------------------------
  162.     def move_upper_left
  163.       # 向き固定でない場合
  164.       unless @direction_fix
  165.         # 右向きだった場合は左を、下向きだった場合は上を向く
  166.         @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::DOWN ? Input::UP : @direction)
  167.       end
  168.       # 上→左、左→上 のどちらかのコースが通行可能な場合
  169.       if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
  170.           (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
  171.         # 座標を更新
  172.         @x -= 1
  173.         @y -= 1
  174.       end
  175.     end
  176.     #--------------------------------------------------------------------------
  177.     # ● 右上に移動
  178.     #--------------------------------------------------------------------------
  179.     def move_upper_right
  180.       # 向き固定でない場合
  181.       unless @direction_fix
  182.         # 左向きだった場合は右を、下向きだった場合は上を向く
  183.         @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::DOWN ? Input::UP : @direction)
  184.       end
  185.       # 上→右、右→上 のどちらかのコースが通行可能な場合
  186.       if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
  187.           (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
  188.         # 座標を更新
  189.         @x += 1
  190.         @y -= 1
  191.       end
  192.     end
  193.     attr_writer :move_speed
  194.     attr_writer :step_anime
  195.   end
  196.   module Spriteset_Map_Module
  197.     def setup_actor_character_sprites?
  198.       return @setup_actor_character_sprites_flag != nil
  199.     end
  200.     def setup_actor_character_sprites(characters)
  201.       if !setup_actor_character_sprites?
  202.         index_game_player = 0
  203.         @character_sprites.each_index do |i|
  204.           if @character_sprites[i].character.instance_of?(Game_Player)
  205.             index_game_player = i
  206.             break
  207.           end
  208.         end
  209.         for character in characters.reverse
  210.           @character_sprites.unshift(
  211.             Sprite_Character.new(@viewport1, character)
  212.           )
  213.         end
  214.         @setup_actor_character_sprites_flag = true
  215.       end
  216.     end
  217.   end
  218.   module Scene_Map_Module
  219.     def setup_actor_character_sprites(characters)
  220.       @spriteset.setup_actor_character_sprites(characters)
  221.     end
  222.   end
  223.   # 菜单
  224.   module Scene_Menu_Module
  225.     def setup_actor_character_sprites(characters)
  226.       @spriteset.setup_actor_character_sprites(characters)
  227.     end
  228.   end
  229.   # 物品
  230.   module Scene_Item_Module
  231.     def setup_actor_character_sprites(characters)
  232.       @spriteset.setup_actor_character_sprites(characters)
  233.     end
  234.   end
  235.   # 特技
  236.   module Scene_Skill_Module
  237.     def setup_actor_character_sprites(characters)
  238.       @spriteset.setup_actor_character_sprites(characters)
  239.     end
  240.   end
  241.   # 装备
  242.   module Scene_Equip_Module
  243.     def setup_actor_character_sprites(characters)
  244.       @spriteset.setup_actor_character_sprites(characters)
  245.     end
  246.   end
  247.   # 状态
  248.   module Scene_Status_Module
  249.     def setup_actor_character_sprites(characters)
  250.       @spriteset.setup_actor_character_sprites(characters)
  251.     end
  252.   end
  253.   # 结束
  254.   module Scene_End_Module
  255.     def setup_actor_character_sprites(characters)
  256.       @spriteset.setup_actor_character_sprites(characters)
  257.     end
  258.   end
  259.   # 存档
  260.   module Scene_Save_Module
  261.     def setup_actor_character_sprites(characters)
  262.       @spriteset.setup_actor_character_sprites(characters)
  263.     end
  264.   end
  265.   # 商店
  266.   module Scene_Shop_Module
  267.     def setup_actor_character_sprites(characters)
  268.       @spriteset.setup_actor_character_sprites(characters)
  269.     end
  270.   end
  271.   module Scene_BestBug_Module
  272.     def setup_actor_character_sprites(characters)
  273.       @spriteset.setup_actor_character_sprites(characters)
  274.     end
  275.   end
  276.  
  277.   module Game_Party_Module
  278.     def set_transparent_actors(transparent)
  279.       @transparent = transparent
  280.     end
  281.     def setup_actor_character_sprites
  282.       if @characters == nil
  283.         @characters = []
  284.         for i in 1 ... TRAIN_ACTOR_SIZE_MAX
  285.           @characters.push(Game_Party_Actor.new)
  286.         end
  287.       end
  288.       for i in 1 ... TRAIN_ACTOR_SIZE_MAX
  289.         @characters[i - 1].setup(actors[i])
  290.       end
  291.       if $scene.class.method_defined?('setup_actor_character_sprites')
  292.         $scene.setup_actor_character_sprites(@characters)
  293.       end
  294.     end
  295.     def update_party_actors
  296.       setup_actor_character_sprites
  297.       transparent = $game_player.transparent
  298.       if transparent == false
  299.         if TRANSPARENT_SWITCH
  300.           transparent = $game_switches[TRANSPARENT_SWITCHES_INDEX]
  301.         end
  302.       end
  303.       for character in @characters
  304.         character.transparent = transparent
  305.         character.move_speed = $game_player.move_speed
  306.         character.step_anime = $game_player.step_anime
  307.         character.update
  308.       end
  309.     end
  310.     def moveto_party_actors( x, y )
  311.       setup_actor_character_sprites
  312.       for character in @characters
  313.         character.moveto( x, y )
  314.       end
  315.       if @move_list == nil
  316.         @move_list = []
  317.       end
  318.       move_list_setup
  319.     end
  320.     def move_party_actors
  321.       if @move_list == nil
  322.         @move_list = []
  323.         move_list_setup
  324.       end
  325.       @move_list.each_index do |i|
  326.         if @characters[i] != nil
  327.           case @move_list[i].type
  328.           when Input::DOWN
  329.             @characters[i].move_down(@move_list[i].args[0])
  330.           when Input::LEFT
  331.             @characters[i].move_left(@move_list[i].args[0])
  332.           when Input::RIGHT
  333.             @characters[i].move_right(@move_list[i].args[0])
  334.           when Input::UP
  335.             @characters[i].move_up(@move_list[i].args[0])
  336.           when DOWN_LEFT
  337.             @characters[i].move_lower_left
  338.           when DOWN_RIGHT
  339.             @characters[i].move_lower_right
  340.           when UP_LEFT
  341.             @characters[i].move_upper_left
  342.           when UP_RIGHT
  343.             @characters[i].move_upper_right
  344.           when JUMP
  345.             @characters[i].jump(@move_list[i].args[0],@move_list[i].args[1])
  346.           end
  347.         end
  348.       end
  349.     end
  350.     class Move_List_Element
  351.       def initialize(type,args)
  352.         @type = type
  353.         @args = args
  354.       end
  355.       def type() return @type end
  356.       def args() return @args end
  357.     end
  358.     def move_list_setup
  359.       for i in 0 .. TRAIN_ACTOR_SIZE_MAX
  360.         @move_list[i] = nil
  361.       end
  362.     end
  363.     def add_move_list(type,*args)
  364.       @move_list.unshift(Move_List_Element.new(type,args)).pop
  365.     end
  366.     def move_down_party_actors(turn_enabled = true)
  367.       move_party_actors
  368.       add_move_list(Input::DOWN,turn_enabled)
  369.     end
  370.     def move_left_party_actors(turn_enabled = true)
  371.       move_party_actors
  372.       add_move_list(Input::LEFT,turn_enabled)
  373.     end
  374.     def move_right_party_actors(turn_enabled = true)
  375.       move_party_actors
  376.       add_move_list(Input::RIGHT,turn_enabled)
  377.     end
  378.     def move_up_party_actors(turn_enabled = true)
  379.       move_party_actors
  380.       add_move_list(Input::UP,turn_enabled)
  381.     end
  382.     def move_lower_left_party_actors
  383.       move_party_actors
  384.       add_move_list(DOWN_LEFT)
  385.     end
  386.     def move_lower_right_party_actors
  387.       move_party_actors
  388.       add_move_list(DOWN_RIGHT)
  389.     end
  390.     def move_upper_left_party_actors
  391.       move_party_actors
  392.       add_move_list(UP_LEFT)
  393.     end
  394.     def move_upper_right_party_actors
  395.       move_party_actors
  396.       add_move_list(UP_RIGHT)
  397.     end
  398.     def jump_party_actors(x_plus, y_plus)
  399.       move_party_actors
  400.       add_move_list(JUMP,x_plus, y_plus)
  401.     end
  402.   end
  403.   module Game_Player_Module
  404.     def update
  405.       $game_party.update_party_actors
  406.       super
  407.     end
  408.     def moveto( x, y )
  409.       $game_party.moveto_party_actors( x, y )
  410.       super( x, y )
  411.     end
  412.     def move_down(turn_enabled = true)
  413.       if passable?(@x, @y, Input::DOWN)
  414.         $game_party.move_down_party_actors(turn_enabled)
  415.       end
  416.       super(turn_enabled)
  417.     end
  418.     def move_left(turn_enabled = true)
  419.       if passable?(@x, @y, Input::LEFT)
  420.         $game_party.move_left_party_actors(turn_enabled)
  421.       end
  422.       super(turn_enabled)
  423.     end
  424.     def move_right(turn_enabled = true)
  425.       if passable?(@x, @y, Input::RIGHT)
  426.         $game_party.move_right_party_actors(turn_enabled)
  427.       end
  428.       super(turn_enabled)
  429.     end
  430.     def move_up(turn_enabled = true)
  431.       if passable?(@x, @y, Input::UP)
  432.         $game_party.move_up_party_actors(turn_enabled)
  433.       end
  434.       super(turn_enabled)
  435.     end
  436.     def move_lower_left
  437.       # 下→左、左→下 のどちらかのコースが通行可能な場合
  438.       if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
  439.           (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
  440.         $game_party.move_lower_left_party_actors
  441.       end
  442.       super
  443.     end
  444.     def move_lower_right
  445.       # 下→右、右→下 のどちらかのコースが通行可能な場合
  446.       if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
  447.           (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
  448.         $game_party.move_lower_right_party_actors
  449.       end
  450.       super
  451.     end
  452.     def move_upper_left
  453.       # 上→左、左→上 のどちらかのコースが通行可能な場合
  454.       if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
  455.           (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
  456.         $game_party.move_upper_left_party_actors
  457.       end
  458.       super
  459.     end
  460.     def move_upper_right
  461.       # 上→右、右→上 のどちらかのコースが通行可能な場合
  462.       if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
  463.           (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
  464.         $game_party.move_upper_right_party_actors
  465.       end
  466.       super
  467.     end
  468.     def jump(x_plus, y_plus)
  469.       # 新しい座標を計算
  470.       new_x = @x + x_plus
  471.       new_y = @y + y_plus
  472.       # 加算値が (0,0) の場合か、ジャンプ先が通行可能な場合
  473.       if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
  474.         $game_party.jump_party_actors(x_plus, y_plus)
  475.       end
  476.       super(x_plus, y_plus)
  477.     end
  478.     attr_reader :move_speed
  479.     attr_reader :step_anime
  480.   end
  481. end # module Train_Actor
  482. class Game_Party
  483.   include Train_Actor::Game_Party_Module
  484. end
  485. class Game_Player
  486.   include Train_Actor::Game_Player_Module
  487. end
  488. class Spriteset_Map
  489.   include Train_Actor::Spriteset_Map_Module
  490. end
  491. class Scene_Map
  492.   include Train_Actor::Scene_Map_Module
  493. end
  494. #仿小飞侠
  495. class Scene_Menu
  496.   include Train_Actor::Scene_Menu_Module
  497. end
  498. class Scene_Item
  499.   include Train_Actor::Scene_Item_Module
  500. end
  501. class Scene_Skill
  502.   include Train_Actor::Scene_Skill_Module
  503. end
  504. class Scene_Status
  505.   include Train_Actor::Scene_Status_Module
  506. end
  507. class Scene_Equip
  508.   include Train_Actor::Scene_Equip_Module
  509. end
  510. class Scene_End
  511.   include Train_Actor::Scene_End_Module
  512. end
  513. class Scene_Save
  514.   include Train_Actor::Scene_Save_Module
  515. end
  516. class Scene_Shop
  517.   include Train_Actor::Scene_Shop_Module
  518. end
  519. class Scene_BestBug
  520.   include Train_Actor::Scene_BestBug_Module
  521. end
  522.  
  523. #=======================================================================
  524. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  525. #=======================================================================


报错截图.png (64.03 KB, 下载次数: 23)

报错截图.png

大地图传送.rar

198.83 KB, 下载次数: 49

Lv3.寻梦者

梦石
0
星屑
3117
在线时间
205 小时
注册时间
2019-9-16
帖子
224
2
发表于 2019-11-11 18:05:52 | 只看该作者
RUBY 代码复制
  1. if characters!=nil
  2.         @spriteset.setup_actor_character_sprites(characters)
  3. end


你在221行的方法下加个IF语句,判断参数是否为空,应该能避免报错。

如果你想深究原因的话,则建议你全局搜索“setup_actor_character_sprites”,看看是哪个地方调用了该方法,然后分析代码为什么增加新功能后会导致参数characters为nil

评分

参与人数 1+1 收起 理由
miantouchi + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 05:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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