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

Project1

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

[已经解决] 这个脚本有问题啊(刚才的那个帖子死活不能回复,重发)

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
178 小时
注册时间
2011-2-6
帖子
61
跳转到指定楼层
1
发表于 2011-8-29 09:46:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 888000 于 2011-8-29 09:49 编辑

迷宫探索_81263914.rar (260.77 KB, 下载次数: 33) 就是从这个论坛上下的
存档再读档就出错,出错的是这个脚本的97行。
  1. #==============================================================================
  2. # ■ Game_Map
  3. #------------------------------------------------------------------------------
  4. #  处理地图的类。包含卷动以及可以通行的判断功能。
  5. # 本类的实例请参考 $game_map 。
  6. #==============================================================================

  7. class Game_Map
  8.   MAZE_SWITCH = 1
  9.   MAZE_SPRITE_OPACITY = 180
  10.   #--------------------------------------------------------------------------
  11.   # ● 定义实例变量
  12.   #--------------------------------------------------------------------------
  13.   attr_reader   :screen                   # 地图画面状态
  14.   attr_reader   :interpreter              # 地图事件用解释器
  15.   attr_reader   :display_x                # 显示 X 坐标 * 256
  16.   attr_reader   :display_y                # 显示 Y 坐标 * 256
  17.   attr_reader   :parallax_name            # 远景 文件名
  18.   attr_reader   :passages                 # 通行表
  19.   attr_reader   :events                   # 事件
  20.   attr_reader   :vehicles                 # 交通工具
  21.   attr_accessor :need_refresh             # 刷新要求标志
  22.   attr_accessor :map                      # 刷新要求标志
  23.   #--------------------------------------------------------------------------
  24.   # ● 初始化对象
  25.   #--------------------------------------------------------------------------
  26.   def initialize
  27.     @screen = Game_Screen.new
  28.     @interpreter = Game_Interpreter.new(0, true)
  29.     @map_id = 0
  30.     @display_x = 0
  31.     @display_y = 0
  32.     create_vehicles
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 设置
  36.   #     map_id : 地图 ID
  37.   #--------------------------------------------------------------------------
  38.   def setup(map_id)
  39.     @map_id = map_id
  40.     @map = load_data(sprintf("Data/Map%03d.rvdata", @map_id))
  41.     setup_maze
  42.     # 临时写在这里
  43.     @display_x = 0
  44.     @display_y = 0
  45.     @passages = $data_system.passages
  46.     referesh_vehicles
  47.     setup_events
  48.     setup_scroll
  49.     setup_parallax   
  50.     @need_refresh = false
  51.   end
  52.   
  53.   def setup_maze
  54.     $game_maze6R_search[@map_id] = Table.new(width, height) if $game_maze6R_search[@map_id] == nil
  55.     $maze_sprite = nil if $map_sprite != nil
  56.     $maze_sprite = Sprite.new
  57.     $maze_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
  58.     $maze_sprite.bitmap.fill_rect(0, 0, Graphics.width, Graphics.height, Color.new(0, 0, 0))
  59.     $maze_sprite.z = 2000
  60.     $maze_sprite.zoom_x = 0.4
  61.     $maze_sprite.zoom_y = 0.4
  62.     $maze_sprite.opacity = MAZE_SPRITE_OPACITY
  63.     $maze_sprite.visible = $game_switches[MAZE_SWITCH]
  64.     $maze_sprite.update
  65.     @maze_rect_width = Graphics.width / width
  66.     @maze_rect_height = Graphics.height / height
  67.     $maze_player_sprite = nil if $maze_player_sprite != nil
  68.     $maze_player_sprite = Sprite.new
  69.     $maze_player_sprite.bitmap = Cache.system("Maze_Char_main")
  70.     $maze_player_sprite.z = 2002
  71.     $maze_player_sprite.ox = $maze_player_sprite.bitmap.width / 2
  72.     $maze_player_sprite.oy = $maze_player_sprite.bitmap.height
  73.     $maze_player_sprite.visible = $maze_sprite.visible
  74.     @refresh_maze_count == 0
  75.   end
  76.   #-----------------------------------------------------
  77.   # ☆ 刷新迷宫game数据,主要用于添加当前一屏幕内容
  78.   #-----------------------------------------------------
  79.   def refresh_maze_game
  80.     for x in 0..$game_map.width
  81.       for y in 0..$game_map.height
  82.         next if not in_range?(x, y)
  83.         $game_maze6R_search[@map_id][x, y] = 1 #unless $game_maze6R_search[@map_id][x, y]
  84.       end
  85.     end   
  86.   end
  87.   
  88.   #-----------------------------------------------------
  89.   # ☆ 刷新迷宫图片
  90.   #-----------------------------------------------------
  91.   def refresh_maze_sprite
  92.     for x in 0..$game_map.width
  93.       for y in 0..$game_map.height
  94.         if $game_maze6R_search[@map_id][x, y] == 1
  95.           bmpt = get_xy_bitmap(x, y)
  96.           $maze_sprite.bitmap.stretch_blt(Rect.new(@maze_rect_width * x, @maze_rect_height * y, @maze_rect_width, @maze_rect_height), bmpt, bmpt.rect)
  97.         end
  98.       end
  99.     end   
  100.     $maze_sprite.visible = $game_switches[MAZE_SWITCH]
  101.     $maze_player_sprite.x = ($game_player.x * @maze_rect_width) * $maze_sprite.zoom_x + $maze_sprite.x
  102.     $maze_player_sprite.y = ($game_player.y * @maze_rect_height) * $maze_sprite.zoom_y + $maze_sprite.y
  103.     $maze_player_sprite.zoom_x = $maze_sprite.zoom_x
  104.     $maze_player_sprite.zoom_y = $maze_sprite.zoom_y
  105.     $maze_player_sprite.visible = $maze_sprite.visible
  106.     $maze_sprite.update
  107.     $maze_player_sprite.update
  108.   end
  109.   
  110.   #-----------------------------------------------------
  111.   # ☆ 刷新迷宫地图的可视情况
  112.   #-----------------------------------------------------
  113.   def change_maze_visible(maze_visible = nil)
  114.     maze_visible = $game_switches[MAZE_SWITCH] if maze_visible == nil
  115.     $maze_sprite.visible = maze_visible
  116.     $maze_player_sprite.visible = maze_visible
  117.   end
  118.   
  119.   #-----------------------------------------------------
  120.   # ☆ 刷新迷宫game数据和图片,小幅度刷新
  121.   #-----------------------------------------------------
  122.   def refresh_maze_small   
  123.     screne_x = $game_map.display_x
  124.     screne_x -= 256
  125.     screne_y = $game_map.display_y
  126.     screne_y -= 256
  127.     screne_width = $game_map.display_x
  128.     screne_width += 8 * Graphics.width + 256
  129.     screne_height = $game_map.display_y
  130.     screne_height += 8 * Graphics.height + 256
  131.     xb = screne_x / 256
  132.     yb = screne_y / 256
  133.     xe = screne_width / 256
  134.     ye = screne_height / 256
  135.     if $maze_sprite == nil or $maze_sprite.disposed?
  136.       refresh_maze_sprite
  137.     end
  138.     for x in xb..xe # 0..$game_map.width
  139.       for y in yb..ye # 0..$game_map.height
  140.         next if not in_range?(x, y)
  141.         next if $game_maze6R_search[@map_id][x, y] == 1
  142.         $game_maze6R_search[@map_id][x, y] = 1
  143.         bmpt = get_xy_bitmap(x, y)
  144.         $maze_sprite.bitmap.stretch_blt(Rect.new(@maze_rect_width * x, @maze_rect_height * y, @maze_rect_width, @maze_rect_height), bmpt, bmpt.rect)
  145.       end
  146.     end
  147.     $maze_sprite.visible = $game_switches[MAZE_SWITCH]
  148.     $maze_player_sprite.x = ($game_player.x * @maze_rect_width) * $maze_sprite.zoom_x + $maze_sprite.x
  149.     $maze_player_sprite.y = ($game_player.y * @maze_rect_height) * $maze_sprite.zoom_y + $maze_sprite.y
  150.     $maze_player_sprite.visible = $maze_sprite.visible
  151.     $maze_sprite.update
  152.     $maze_player_sprite.update
  153.   end
  154.   
  155.   #-----------------------------------------------------
  156.   # ☆ 看某XY是否在屏幕显示范围内
  157.   #-----------------------------------------------------
  158.   def in_range?(inx, iny)
  159.     screne_x = $game_map.display_x
  160.     screne_x -= 256
  161.     screne_y = $game_map.display_y
  162.     screne_y -= 256
  163.     screne_width = $game_map.display_x
  164.     screne_width += 4608 # 8 * Graphics.width + 256
  165.     screne_height = $game_map.display_y
  166.     screne_height += 3584 # 8 * Graphics.height + 256
  167.     return false if inx * 256 <= screne_x
  168.     return false if inx * 256 >= screne_width
  169.     return false if iny * 256 <= screne_y
  170.     return false if iny * 256 >= screne_height
  171.     return true
  172.   end
  173.   
  174.   #-----------------------------------------------------
  175.   # ☆ 获得X,Y理论点的图像
  176.   #-----------------------------------------------------
  177.   def get_xy_bitmap(x, y)
  178.     bitmap = Bitmap.new(32, 32)
  179.     for i in [0] #, 1, 2]
  180.       id = @map.data[x, y, i]
  181.       tb = bmprect_id(id)
  182.       bitmap.blt(0, 0, tb[0], Rect.new(tb[1] * 32, tb[2] * 32, 32, 32)) if tb[0] != nil
  183.     end
  184.     return bitmap
  185.   end  
  186.   
  187.   #-----------------------------------------------------
  188.   # ☆ 根据ID获得Bitmap的rect
  189.   #-----------------------------------------------------
  190.   def bmprect_id(id)   
  191.     case id
  192.     when 0..255      
  193.       bitmap_rectxyb = get_where(id)
  194.       return [$map6r_bitmaps[5], bitmap_rectxyb[0], bitmap_rectxyb[1]]
  195.     when 256..511
  196.       bitmap_rectxyb = get_where(id - 256)
  197.       return [$map6r_bitmaps[6], bitmap_rectxyb[0], bitmap_rectxyb[1]]
  198.     when 512..767
  199.       bitmap_rectxyb = get_where(id - 512)
  200.       return [$map6r_bitmaps[7], bitmap_rectxyb[0], bitmap_rectxyb[1]]
  201.     when 768..1023
  202.       bitmap_rectxyb = get_where(id - 768)
  203.       return [$map6r_bitmaps[8], bitmap_rectxyb[0], bitmap_rectxyb[1]]
  204.     when 1536..1791
  205.       bitmap_rectxyb = get_where(id - 1536)
  206.       return [$map6r_bitmaps[4], bitmap_rectxyb[0], bitmap_rectxyb[1]]   
  207.     when 2048..8191 # 2048..2048 + 48 * 128 - 1   
  208.       bitmap_rectxyb = get_where(id)
  209.       return [bitmap_rectxyb[0], bitmap_rectxyb[1], bitmap_rectxyb[2]]  
  210.     end
  211.     return [nil, 0, 0]
  212.   end
  213.   
  214.   #-----------------------------------------------------
  215.   # ☆ 根据ID返回Bitmap的rect
  216.   #-----------------------------------------------------
  217.   def get_where(id)
  218.     case id
  219.     when 0..255
  220.       x = id % 8
  221.       y = id / 8
  222.       return [x, y]
  223.     when 2048..2767 # 2048..2048 + 48 * 15 - 1
  224.       tempid = (id - 2048) % 48 # 这个表示是48系列图中的第几个系列种
  225.       series_id = (id - 2048) / 48   # 这个表示是在图上素材分类的第几个
  226.       case series_id
  227.       when 0
  228.         return get_ofxoftdiyilei(tempid, 0, 0)
  229.       when 1
  230.         return get_ofxoftdiyilei(tempid, 0, 3)
  231.       when 2
  232.         return get_ofxoftdiyilei(tempid, 6, 0)
  233.       when 3
  234.         return get_ofxoftdiyilei(tempid, 6, 3)
  235.       when 4
  236.         return get_ofxoftdiyilei(tempid, 8, 0)
  237.       when 5
  238.         return get_ofxoftdiyilei(tempid, 8, 3)
  239.       when 6
  240.         return get_ofxoftdiyilei(tempid, 14, 0)
  241.       when 7
  242.         return get_ofxoftdiyilei(tempid, 14, 3)
  243.       when 8
  244.         return get_ofxoftdiyilei(tempid, 0, 6)
  245.       when 9
  246.         return get_ofxoftdiyilei(tempid, 0, 9)
  247.       when 10
  248.         return get_ofxoftdiyilei(tempid, 6, 6)
  249.       when 11
  250.         return get_ofxoftdiyilei(tempid, 6, 9)
  251.       when 12
  252.         return get_ofxoftdiyilei(tempid, 8, 6)
  253.       when 13
  254.         return get_ofxoftdiyilei(tempid, 8, 9)
  255.       when 14
  256.         return get_ofxoftdiyilei(tempid, 14, 6)
  257.       when 15
  258.         return get_ofxoftdiyilei(tempid, 14, 9)
  259.       end
  260.       
  261.     #-----------------------------------------------------------------
  262.     # 这个是A2素材的定义方式
  263.     #-----------------------------------------------------------------
  264.     when 2768..4351 #2048 + 48 * 15..2048 + 48 * 48 - 1
  265.       tempid = (id - 2048 - 48 * 16) % 48      # 这个表示是48系列图中的第几个系列种
  266.       series_id = (id - 2048 - 48 * 16) / 48   # 这个表示是在图上素材分类的第几个
  267.       ofx = (series_id % 8) * 2
  268.       ofy = (series_id / 8) * 3
  269.       return get_ofxoftdiyilei(tempid, ofx, ofy, 1)
  270.       
  271.     #-----------------------------------------------------------------
  272.     # 这个是A3素材的房顶方式,前半部分
  273.     #-----------------------------------------------------------------
  274.     when 4352..4735 #2048 + 48 * 48..2048 + 48 * 56 - 1
  275.       tempid = (id - 2048 - 48 * 48) % 48      # 这个表示是48系列图中的第几个系列种
  276.       series_id = (id - 2048 - 48 * 48) / 48   # 这个表示是在图上素材分类的第几个
  277.       ofx = (series_id % 8) * 2
  278.       ofy = 0
  279.       return get_ofxoftdierlei(tempid, ofx, ofy, 2)     
  280.     #-----------------------------------------------------------------
  281.     # 这个是A3素材的房顶方式,后半部分
  282.     #-----------------------------------------------------------------
  283.     when 5120..5503 #2048 + 48 * 64..2048 + 48 * 72 - 1
  284.       tempid = (id - 2048 - 48 * 64) % 48      # 这个表示是48系列图中的第几个系列种
  285.       series_id = (id - 2048 - 48 * 64) / 48   # 这个表示是在图上素材分类的第几个
  286.       ofx = (series_id % 8) * 2
  287.       ofy = 4
  288.       return get_ofxoftdierlei(tempid, ofx, ofy, 2)  
  289.     #-----------------------------------------------------------------
  290.     # 这个是A3素材的房屋体方式,前半部分
  291.     #-----------------------------------------------------------------
  292.     when 4736..5119 #2048 + 48 * 56..2048 + 48 * 64 - 1
  293.       tempid = (id - 2048 - 48 * 48) % 48      # 这个表示是48系列图中的第几个系列种
  294.       series_id = (id - 2048 - 48 * 48) / 48   # 这个表示是在图上素材分类的第几个
  295.       ofx = (series_id % 8) * 2
  296.       ofy = 0
  297.       return get_ofxoftdierlei(tempid, ofx, ofy, 2, 1)     
  298.     #-----------------------------------------------------------------
  299.     # 这个是A3素材的房屋体方式,后半部分
  300.     #-----------------------------------------------------------------
  301.     when 5504..5887#2048 + 48 * 72..2048 + 48 * 80 - 1
  302.       tempid = (id - 2048 - 48 * 64) % 48      # 这个表示是48系列图中的第几个系列种
  303.       series_id = (id - 2048 - 48 * 64) / 48   # 这个表示是在图上素材分类的第几个
  304.       ofx = (series_id % 8) * 2
  305.       ofy = 4
  306.       return get_ofxoftdierlei(tempid, ofx, ofy, 2, 1)   
  307.       
  308.       
  309.       
  310.       
  311.     #-----------------------------------------------------------------
  312.     # 这个是A4素材的房顶方式 1
  313.     #-----------------------------------------------------------------
  314.     when 5888..6271 #2048 + 48 * 80..2048 + 48 * 88 - 1
  315.       tempid = (id - 2048 - 48 * 80) % 48      
  316.       series_id = (id - 2048 - 48 * 80) / 48   
  317.       ofx = (series_id % 8) * 2
  318.       ofy = 0
  319.       return get_ofxoftdiyilei(tempid, ofx, ofy, 3)   
  320.     #-----------------------------------------------------------------
  321.     # 这个是A4素材的房顶方式 2
  322.     #-----------------------------------------------------------------
  323.     when 6656..7039 #2048 + 48 * 96..2048 + 48 * 104 - 1
  324.       tempid = (id - 2048 - 48 * 80) % 48      
  325.       series_id = (id - 2048 - 48 * 80) / 48   
  326.       ofx = (series_id % 8) * 2
  327.       ofy = 5
  328.       return get_ofxoftdiyilei(tempid, ofx, ofy, 3)   
  329.     #-----------------------------------------------------------------
  330.     # 这个是A4素材的房顶方式 3
  331.     #-----------------------------------------------------------------
  332.     when 7424..7807 #2048 + 48 * 112..2048 + 48 * 120 - 1
  333.       tempid = (id - 2048 - 48 * 80) % 48      
  334.       series_id = (id - 2048 - 48 * 80) / 48   
  335.       ofx = (series_id % 8) * 2
  336.       ofy = 10
  337.       return get_ofxoftdiyilei(tempid, ofx, ofy, 3)   
  338.       
  339.       
  340.       
  341.     #-----------------------------------------------------------------
  342.     # 这个是A4素材的墙壁方式 1
  343.     #-----------------------------------------------------------------
  344.     when 6272..6655 #2048 + 48 * 88..2048 + 48 * 96 - 1
  345.       tempid = (id - 2048 - 48 * 80) % 48      
  346.       series_id = (id - 2048 - 48 * 80) / 48   
  347.       ofx = (series_id % 8) * 2
  348.       ofy = 0
  349.       return get_ofxoftdierlei(tempid, ofx, ofy, 3, 2)   
  350.     #-----------------------------------------------------------------
  351.     # 这个是A4素材的墙壁方式 2
  352.     #-----------------------------------------------------------------
  353.     when 7040..7423 #2048 + 48 * 104..2048 + 48 * 112 - 1
  354.       tempid = (id - 2048 - 48 * 80) % 48      
  355.       series_id = (id - 2048 - 48 * 80) / 48   
  356.       ofx = (series_id % 8) * 2
  357.       ofy = 5
  358.       return get_ofxoftdierlei(tempid, ofx, ofy, 3, 2)  
  359.     #-----------------------------------------------------------------
  360.     # 这个是A4素材的墙壁方式 3
  361.     #-----------------------------------------------------------------
  362.     when 7808..8191 #2048 + 48 * 120..2048 + 48 * 128 - 1
  363.       tempid = (id - 2048 - 48 * 80) % 48      
  364.       series_id = (id - 2048 - 48 * 80) / 48   
  365.       ofx = (series_id % 8) * 2
  366.       ofy = 10
  367.       return get_ofxoftdierlei(tempid, ofx, ofy, 3, 2)  
  368.     end   
  369.   end
  370.   
  371.   #--------------------------------------------------------------------------
  372.   # ☆ 中间函数,用来返回某张图上的一个rect,特别针对A1
  373.   #--------------------------------------------------------------------------
  374.   def get_ofxoftdiyilei(tempid = 0, ofx = 0, ofy = 0, bmps = 0)
  375.     bmp = Bitmap.new(32, 32)
  376.     ta = diyitao(tempid)
  377.     ofx *= 32
  378.     ofy *= 32
  379.     bmp.blt(0,0,$map6r_bitmaps[bmps], Rect.new(ta[0][1]*16 + ofx, ta[0][0]*16 + ofy, 16, 16))
  380.     bmp.blt(16,0,$map6r_bitmaps[bmps], Rect.new(ta[1][1]*16 + ofx, ta[1][0]*16 + ofy, 16, 16))
  381.     bmp.blt(0,16,$map6r_bitmaps[bmps], Rect.new(ta[2][1]*16 + ofx, ta[2][0]*16 + ofy, 16, 16))
  382.     bmp.blt(16,16,$map6r_bitmaps[bmps], Rect.new(ta[3][1]*16 + ofx, ta[3][0]*16 + ofy, 16, 16))
  383.     return [bmp, 0, 0]
  384.   end
  385.   
  386.   #--------------------------------------------------------------------------
  387.   # ☆ 中间函数,用来返回某张图上的一个rect,针对A3
  388.   #--------------------------------------------------------------------------
  389.   def get_ofxoftdierlei(tempid = 0, ofx = 0, ofy = 0, bmps = 0, hx = 0)
  390.     bmp = Bitmap.new(32, 32)
  391.     ta = diertao(tempid) if hx == 0
  392.     ta = disantao(tempid) if hx == 1
  393.     ta = disitao(tempid) if hx == 2
  394.     ofx *= 32
  395.     ofy *= 32
  396.     bmp.blt(0,0,$map6r_bitmaps[bmps], Rect.new(ta[0][1]*16 + ofx, ta[0][0]*16 + ofy, 16, 16))
  397.     bmp.blt(16,0,$map6r_bitmaps[bmps], Rect.new(ta[1][1]*16 + ofx, ta[1][0]*16 + ofy, 16, 16))
  398.     bmp.blt(0,16,$map6r_bitmaps[bmps], Rect.new(ta[2][1]*16 + ofx, ta[2][0]*16 + ofy, 16, 16))
  399.     bmp.blt(16,16,$map6r_bitmaps[bmps], Rect.new(ta[3][1]*16 + ofx, ta[3][0]*16 + ofy, 16, 16))
  400.     return [bmp, 0, 0]
  401.   end
  402.   
  403.   #--------------------------------------------------------------------------
  404.   # ☆ 第二套结构代码,定义了素材A3的房顶部分
  405.   #--------------------------------------------------------------------------
  406.   def diertao(whattype = 0)
  407.     array = [
  408.     [[2,2],[2,1],[1,2],[1,1]],
  409.     [[2,0],[2,1],[1,0],[1,1]],
  410.     [[0,2],[0,1],[1,2],[1,1]],
  411.     [[0,0],[0,1],[1,0],[1,1]],
  412.     [[2,2],[2,3],[1,2],[1,3]],
  413.     [[2,0],[2,3],[1,0],[1,3]],
  414.     [[0,2],[0,3],[1,2],[1,3]],
  415.     [[0,0],[0,3],[1,0],[1,3]],
  416.     [[2,2],[2,1],[3,2],[3,1]],
  417.     [[2,0],[2,1],[3,0],[3,1]],
  418.     [[0,2],[0,1],[3,2],[3,1]],   
  419.     [[0,0],[0,1],[3,0],[3,1]],
  420.     [[2,2],[2,3],[3,2],[3,3]],
  421.     [[2,0],[2,3],[3,0],[3,3]],
  422.     [[0,2],[0,3],[3,2],[3,3]],
  423.     [[0,0],[0,3],[3,0],[3,3]],
  424.     [[0,0],[0,0],[0,0],[0,0]],
  425.     ]
  426.     return array[whattype] if array[whattype] != nil
  427.     return [[0,0],[0,0],[0,0],[0,0]]
  428.   end
  429.   
  430.   #--------------------------------------------------------------------------
  431.   # ☆ 第二套结构代码,定义了素材A4的墙壁部分
  432.   #--------------------------------------------------------------------------
  433.   def disitao(whattype = 0)
  434.     array = [
  435.     [[8,2],[8,1],[7,2],[7,1]],
  436.     [[8,0],[8,1],[7,0],[7,1]],
  437.     [[6,2],[6,1],[7,2],[7,1]],
  438.     [[6,0],[6,1],[7,2],[7,1]],
  439.     [[8,2],[8,3],[7,2],[7,3]],
  440.     [[8,0],[8,3],[7,0],[7,3]],
  441.     [[6,2],[6,3],[7,2],[7,3]],
  442.     [[6,2],[6,3],[7,0],[7,3]],
  443.     [[8,2],[8,1],[9,2],[9,1]],
  444.     [[8,0],[8,1],[9,0],[9,1]],
  445.     [[6,2],[6,1],[9,2],[9,1]],   
  446.     [[6,0],[6,1],[9,0],[9,1]],
  447.     [[8,2],[8,3],[9,2],[9,3]],
  448.     [[8,0],[8,3],[9,0],[9,3]],
  449.     [[6,2],[6,3],[9,2],[9,3]],
  450.     [[6,0],[6,3],[9,0],[9,3]],
  451.     [[6,0],[6,0],[6,0],[6,0]], # 填满48个
  452.     ]
  453.     return array[whattype] if array[whattype] != nil
  454.     return [[6,0],[6,0],[6,0],[6,0]]
  455.   end
  456.   
  457.   #--------------------------------------------------------------------------
  458.   # ☆ 第三套结构代码,定义了素材A3的房屋部分
  459.   #--------------------------------------------------------------------------
  460.   def disantao(whattype = 0)
  461.     array = [
  462.     [[6,2],[6,1],[5,2],[5,1]],
  463.     [[6,0],[6,1],[5,0],[5,1]],
  464.     [[4,2],[4,1],[5,2],[5,1]],
  465.     [[4,0],[4,1],[5,2],[5,1]],
  466.     [[6,2],[6,3],[5,2],[5,3]],
  467.     [[6,0],[6,3],[5,0],[5,3]],
  468.     [[4,2],[4,3],[5,2],[5,3]],
  469.     [[4,2],[4,3],[5,0],[5,3]],
  470.     [[6,2],[6,1],[7,2],[7,1]],
  471.     [[6,0],[6,1],[7,0],[7,1]],
  472.     [[4,2],[4,1],[7,2],[7,1]],   
  473.     [[4,0],[4,1],[7,0],[7,1]],
  474.     [[6,2],[6,3],[7,2],[7,3]],
  475.     [[6,0],[6,3],[7,0],[7,3]],
  476.     [[4,2],[4,3],[7,2],[7,3]],
  477.     [[4,0],[4,3],[7,0],[7,3]],
  478.     [[4,0],[4,0],[4,0],[4,0]], # 填满48个
  479.     ]
  480.     return array[whattype] if array[whattype] != nil
  481.     return [[4,0],[4,0],[4,0],[4,0]]
  482.   end# 房屋部分
  483.    
  484.   
  485.   #--------------------------------------------------------------------
  486.   # ★ 第一套结构数组,这个用于定义A1里面的自动元件构成。写得晕死了
  487.   #--------------------------------------------------------------------
  488.   def diyitao(whattype = 0)
  489.     array = [
  490.     [[4,2],[4,1],[3,2],[3,1]],
  491.     [[0,2],[4,1],[3,2],[3,1]],
  492.     [[4,2],[0,3],[3,2],[3,1]],
  493.     [[0,2],[0,3],[3,2],[3,1]],
  494.     [[4,2],[4,1],[3,2],[1,3]],
  495.     [[0,2],[4,1],[3,2],[1,3]],
  496.     [[4,2],[0,3],[3,2],[1,3]],
  497.     [[0,2],[0,3],[3,2],[1,3]],
  498.     [[4,2],[4,1],[1,2],[3,1]],
  499.     [[0,2],[4,1],[1,2],[3,1]],   
  500.     [[4,2],[0,3],[1,2],[3,1]],
  501.     [[0,2],[0,3],[1,2],[3,1]],
  502.     [[4,2],[4,1],[1,2],[1,3]],
  503.     [[0,2],[4,1],[1,2],[1,3]],
  504.     [[4,2],[0,3],[1,2],[1,3]],
  505.     [[0,2],[0,3],[1,2],[1,3]],   
  506.     [[4,0],[4,1],[3,0],[3,1]],
  507.     [[4,0],[0,3],[3,0],[3,1]],
  508.     [[4,0],[4,1],[3,0],[1,3]],
  509.     [[4,0],[0,3],[3,0],[1,3]],   
  510.     [[2,2],[2,1],[3,2],[3,1]],
  511.     [[2,2],[2,1],[3,2],[1,3]],
  512.     [[2,2],[2,1],[1,2],[3,1]],
  513.     [[2,2],[2,1],[1,2],[1,3]],
  514.     [[4,2],[4,3],[3,2],[3,3]],
  515.     [[4,2],[4,3],[1,2],[3,3]],
  516.     [[0,2],[4,3],[3,2],[3,3]],
  517.     [[0,2],[4,3],[1,2],[3,3]],
  518.     [[4,2],[4,1],[5,2],[5,1]],
  519.     [[0,2],[4,1],[5,2],[5,1]],
  520.     [[4,2],[0,3],[5,2],[5,1]],
  521.     [[0,2],[0,3],[5,2],[5,1]],
  522.     [[4,0],[4,3],[3,0],[3,3]],
  523.     [[2,2],[2,1],[5,2],[5,1]],
  524.     [[2,0],[2,1],[3,0],[3,1]], #34
  525.     [[2,0],[2,1],[3,0],[1,3]],  
  526.     [[2,2],[2,3],[3,2],[3,3]],
  527.     [[2,2],[2,3],[1,2],[3,3]],
  528.     [[4,2],[4,3],[5,2],[5,3]],
  529.     [[0,2],[4,3],[5,2],[5,3]],
  530.     [[4,0],[4,1],[5,0],[5,1]],
  531.     [[4,0],[0,3],[5,0],[5,1]],
  532.     [[2,0],[2,3],[3,0],[3,3]],
  533.     [[2,0],[2,1],[5,0],[5,1]],
  534.     [[4,0],[4,3],[5,0],[5,3]],
  535.     [[2,2],[2,3],[5,2],[5,3]],
  536.     [[2,0],[2,3],[5,0],[5,3]],
  537.     [[0,0],[0,1],[1,0],[1,1]]
  538.     ]
  539.     return array[whattype]
  540.   end
  541.   
  542.   
  543.   
  544.   
  545.   #--------------------------------------------------------------------------
  546.   # ● 生成交通工具
  547.   #--------------------------------------------------------------------------
  548.   def create_vehicles
  549.     @vehicles = []
  550.     @vehicles[0] = Game_Vehicle.new(0)    # 小型船
  551.     @vehicles[1] = Game_Vehicle.new(1)    # 大型船
  552.     @vehicles[2] = Game_Vehicle.new(2)    # 飛行船
  553.   end
  554.   #--------------------------------------------------------------------------
  555.   # ● 刷新交通工具
  556.   #--------------------------------------------------------------------------
  557.   def referesh_vehicles
  558.     for vehicle in @vehicles
  559.       vehicle.refresh
  560.     end
  561.   end
  562.   #--------------------------------------------------------------------------
  563.   # ● 获取小型船
  564.   #--------------------------------------------------------------------------
  565.   def boat
  566.     return @vehicles[0]
  567.   end
  568.   #--------------------------------------------------------------------------
  569.   # ● 获取大型船
  570.   #--------------------------------------------------------------------------
  571.   def ship
  572.     return @vehicles[1]
  573.   end
  574.   #--------------------------------------------------------------------------
  575.   # ● 获取飞行船
  576.   #--------------------------------------------------------------------------
  577.   def airship
  578.     return @vehicles[2]
  579.   end
  580.   #--------------------------------------------------------------------------
  581.   # ● 设置事件
  582.   #--------------------------------------------------------------------------
  583.   def setup_events
  584.     @events = {}          # 地图事件
  585.     for i in @map.events.keys
  586.       @events[i] = Game_Event.new(@map_id, @map.events[i])
  587.     end
  588.     @common_events = {}   # 公共事件
  589.     for i in 1...$data_common_events.size
  590.       @common_events[i] = Game_CommonEvent.new(i)
  591.     end
  592.   end
  593.   #--------------------------------------------------------------------------
  594.   # ● 设置滚动
  595.   #--------------------------------------------------------------------------
  596.   def setup_scroll
  597.     @scroll_direction = 2
  598.     @scroll_rest = 0
  599.     @scroll_speed = 4
  600.     @margin_x = (width - 17) * 256 / 2      # 画面不显示的地方宽 / 2
  601.     @margin_y = (height - 13) * 256 / 2     # 画面不显示的地方高 / 2
  602.   end
  603.   #--------------------------------------------------------------------------
  604.   # ● 设置远景
  605.   #--------------------------------------------------------------------------
  606.   def setup_parallax
  607.     @parallax_name = @map.parallax_name
  608.     @parallax_loop_x = @map.parallax_loop_x
  609.     @parallax_loop_y = @map.parallax_loop_y
  610.     @parallax_sx = @map.parallax_sx
  611.     @parallax_sy = @map.parallax_sy
  612.     @parallax_x = 0
  613.     @parallax_y = 0
  614.   end
  615.   #--------------------------------------------------------------------------
  616.   # ● 设置显示位置
  617.   #     x : 新显示 X 坐标 (*256)
  618.   #     y : 新显示 Y 坐标 (*256)
  619.   #--------------------------------------------------------------------------
  620.   def set_display_pos(x, y)
  621.     @display_x = (x + @map.width * 256) % (@map.width * 256)
  622.     @display_y = (y + @map.height * 256) % (@map.height * 256)
  623.     @parallax_x = x
  624.     @parallax_y = y
  625.     refresh_maze_game
  626.     refresh_maze_sprite
  627.   end
  628.   #--------------------------------------------------------------------------
  629.   # ● 计算远景显示 X 坐标
  630.   #     bitmap : 远景位图
  631.   #--------------------------------------------------------------------------
  632.   def calc_parallax_x(bitmap)
  633.     if bitmap == nil
  634.       return 0
  635.     elsif @parallax_loop_x
  636.       return @parallax_x / 16
  637.     elsif loop_horizontal?
  638.       return 0
  639.     else
  640.       w1 = bitmap.width - 544
  641.       w2 = @map.width * 32 - 544
  642.       if w1 <= 0 or w2 <= 0
  643.         return 0
  644.       else
  645.         return @parallax_x * w1 / w2 / 8
  646.       end
  647.     end
  648.   end
  649.   #--------------------------------------------------------------------------
  650.   # ● 计算远景显示 Y 坐标
  651.   #     bitmap : 远景位图
  652.   #--------------------------------------------------------------------------
  653.   def calc_parallax_y(bitmap)
  654.     if bitmap == nil
  655.       return 0
  656.     elsif @parallax_loop_y
  657.       return @parallax_y / 16
  658.     elsif loop_vertical?
  659.       return 0
  660.     else
  661.       h1 = bitmap.height - 416
  662.       h2 = @map.height * 32 - 416
  663.       if h1 <= 0 or h2 <= 0
  664.         return 0
  665.       else
  666.         return @parallax_y * h1 / h2 / 8
  667.       end
  668.     end
  669.   end
  670.   #--------------------------------------------------------------------------
  671.   # ● 获取地图 ID
  672.   #--------------------------------------------------------------------------
  673.   def map_id
  674.     return @map_id
  675.   end
  676.   #--------------------------------------------------------------------------
  677.   # ● 获取宽度
  678.   #--------------------------------------------------------------------------
  679.   def width
  680.     return @map.width
  681.   end
  682.   #--------------------------------------------------------------------------
  683.   # ● 获取高度
  684.   #--------------------------------------------------------------------------
  685.   def height
  686.     return @map.height
  687.   end
  688.   #--------------------------------------------------------------------------
  689.   # ● 横方向循环吗?
  690.   #--------------------------------------------------------------------------
  691.   def loop_horizontal?
  692.     return (@map.scroll_type == 2 or @map.scroll_type == 3)
  693.   end
  694.   #--------------------------------------------------------------------------
  695.   # ● 纵方向循环吗?
  696.   #--------------------------------------------------------------------------
  697.   def loop_vertical?
  698.     return (@map.scroll_type == 1 or @map.scroll_type == 3)
  699.   end
  700.   #--------------------------------------------------------------------------
  701.   # ● 获取跑动与否?
  702.   #--------------------------------------------------------------------------
  703.   def disable_dash?
  704.     return @map.disable_dashing
  705.   end
  706.   #--------------------------------------------------------------------------
  707.   # ● 获取遇敌列表
  708.   #--------------------------------------------------------------------------
  709.   def encounter_list
  710.     return @map.encounter_list
  711.   end
  712.   #--------------------------------------------------------------------------
  713.   # ● 获取遇敌步数
  714.   #--------------------------------------------------------------------------
  715.   def encounter_step
  716.     return @map.encounter_step
  717.   end
  718.   #--------------------------------------------------------------------------
  719.   # ● 获取地图数据
  720.   #--------------------------------------------------------------------------
  721.   def data
  722.     return @map.data
  723.   end
  724.   #--------------------------------------------------------------------------
  725.   # ● 计算扣除显示坐标的 X 坐标
  726.   #     x : X 坐标
  727.   #--------------------------------------------------------------------------
  728.   def adjust_x(x)
  729.     if loop_horizontal? and x < @display_x - @margin_x
  730.       return x - @display_x + @map.width * 256
  731.     else
  732.       return x - @display_x
  733.     end
  734.   end
  735.   #--------------------------------------------------------------------------
  736.   # ● 计算扣除显示坐标的 Y 坐标
  737.   #     y : Y 坐标
  738.   #--------------------------------------------------------------------------
  739.   def adjust_y(y)
  740.     if loop_vertical? and y < @display_y - @margin_y
  741.       return y - @display_y + @map.height * 256
  742.     else
  743.       return y - @display_y
  744.     end
  745.   end
  746.   #--------------------------------------------------------------------------
  747.   # ● 计算循环修正后的 X 坐标
  748.   #     x : X 坐标
  749.   #--------------------------------------------------------------------------
  750.   def round_x(x)
  751.     if loop_horizontal?
  752.       return (x + width) % width
  753.     else
  754.       return x
  755.     end
  756.   end
  757.   #--------------------------------------------------------------------------
  758.   # ● 计算循环修正后的 Y坐标
  759.   #     y : Y 坐标
  760.   #--------------------------------------------------------------------------
  761.   def round_y(y)
  762.     if loop_vertical?
  763.       return (y + height) % height
  764.     else
  765.       return y
  766.     end
  767.   end
  768.   #--------------------------------------------------------------------------
  769.   # ● 计算特定方向移动 1 マス X 坐标
  770.   #     x         : X 坐标
  771.   #     direction : 方向 (2,4,6,8)
  772.   #--------------------------------------------------------------------------
  773.   def x_with_direction(x, direction)
  774.     return round_x(x + (direction == 6 ? 1 : direction == 4 ? -1 : 0))
  775.   end
  776.   #--------------------------------------------------------------------------
  777.   # ● 计算特定方向移动 1 マス Y 坐标
  778.   #     y         : Y 坐标
  779.   #     direction : 方向 (2,4,6,8)
  780.   #--------------------------------------------------------------------------
  781.   def y_with_direction(y, direction)
  782.     return round_y(y + (direction == 2 ? 1 : direction == 8 ? -1 : 0))
  783.   end
  784.   #--------------------------------------------------------------------------
  785.   # ● 获取指定坐标存在的事件排列
  786.   #     x : X 坐标
  787.   #     y : Y 坐标
  788.   #--------------------------------------------------------------------------
  789.   def events_xy(x, y)
  790.     result = []
  791.     for event in $game_map.events.values
  792.       result.push(event) if event.pos?(x, y)
  793.     end
  794.     return result
  795.   end
  796.   #--------------------------------------------------------------------------
  797.   # ● BGM / BGS 自动切换
  798.   #--------------------------------------------------------------------------
  799.   def autoplay
  800.     @map.bgm.play if @map.autoplay_bgm
  801.     @map.bgs.play if @map.autoplay_bgs
  802.   end
  803.   #--------------------------------------------------------------------------
  804.   # ● 刷新
  805.   #--------------------------------------------------------------------------
  806.   def refresh
  807.     if @map_id > 0
  808.       for event in @events.values
  809.         event.refresh
  810.       end
  811.       for common_event in @common_events.values
  812.         common_event.refresh
  813.       end
  814.     end
  815.     refresh_mg_tansuo
  816.     @need_refresh = false
  817.   end
  818.   #--------------------------------------------------------------------------
  819.   # ● 迷宫探索系统
  820.   #--------------------------------------------------------------------------
  821.   def refresh_mg_tansuo
  822.    
  823.   end  
  824.   #--------------------------------------------------------------------------
  825.   # ● 向下滚动
  826.   #     distance : 滚动距离
  827.   #--------------------------------------------------------------------------
  828.   def scroll_down(distance)
  829.     if loop_vertical?
  830.       @display_y += distance
  831.       @display_y %= @map.height * 256
  832.       @parallax_y += distance
  833.     else
  834.       last_y = @display_y
  835.       @display_y = [@display_y + distance, (height - 13) * 256].min
  836.       @parallax_y += @display_y - last_y
  837.     end
  838.   end
  839.   #--------------------------------------------------------------------------
  840.   # ● 向左滚动
  841.   #     distance : 滚动距离
  842.   #--------------------------------------------------------------------------
  843.   def scroll_left(distance)
  844.     if loop_horizontal?
  845.       @display_x += @map.width * 256 - distance
  846.       @display_x %= @map.width * 256
  847.       @parallax_x -= distance
  848.     else
  849.       last_x = @display_x
  850.       @display_x = [@display_x - distance, 0].max
  851.       @parallax_x += @display_x - last_x
  852.     end
  853.   end
  854.   #--------------------------------------------------------------------------
  855.   # ● 向右滚动
  856.   #     distance : 滚动距离
  857.   #--------------------------------------------------------------------------
  858.   def scroll_right(distance)
  859.     if loop_horizontal?
  860.       @display_x += distance
  861.       @display_x %= @map.width * 256
  862.       @parallax_x += distance
  863.     else
  864.       last_x = @display_x
  865.       @display_x = [@display_x + distance, (width - 17) * 256].min
  866.       @parallax_x += @display_x - last_x
  867.     end
  868.   end
  869.   #--------------------------------------------------------------------------
  870.   # ● 向上滚动
  871.   #     distance : 滚动距离
  872.   #--------------------------------------------------------------------------
  873.   def scroll_up(distance)
  874.     if loop_vertical?
  875.       @display_y += @map.height * 256 - distance
  876.       @display_y %= @map.height * 256
  877.       @parallax_y -= distance
  878.     else
  879.       last_y = @display_y
  880.       @display_y = [@display_y - distance, 0].max
  881.       @parallax_y += @display_y - last_y
  882.     end
  883.   end
  884.   #--------------------------------------------------------------------------
  885.   # ● 有效坐标判定
  886.   #     x          : X 坐标
  887.   #     y          : Y 坐标
  888.   #--------------------------------------------------------------------------
  889.   def valid?(x, y)
  890.     return (x >= 0 and x < width and y >= 0 and y < height)
  891.   end
  892.   #--------------------------------------------------------------------------
  893.   # ● 可以通行判定
  894.   #     x    : X 坐标
  895.   #     y    : Y 坐标  
  896.   #     flag : 检查通行禁止数据 (通常 0x01、交通工具的情况下变更)
  897.   #--------------------------------------------------------------------------
  898.   def passable?(x, y, flag = 0x01)
  899.     for event in events_xy(x, y)            # 检查坐标相同的事件
  900.       next if event.tile_id == 0            # 地图没有图块的情况下
  901.       next if event.priority_type > 0       # 不是[通常形式下]
  902.       next if event.through                 # 穿透状态
  903.       pass = @passages[event.tile_id]       # 获取通行属性
  904.       next if pass & 0x10 == 0x10           # [☆] : 不影响通行
  905.       return true if pass & flag == 0x00    # [○] : 可通行
  906.       return false if pass & flag == flag   # [×] : 不可通行
  907.     end
  908.     for i in [2, 1, 0]                      # 从层按从上到下的顺序调查循环
  909.       tile_id = @map.data[x, y, i]          # 获取元件 ID
  910.       return false if tile_id == nil        # 取得元件 ID 失败 : 不能通行
  911.       pass = @passages[tile_id]             # 获取通行属性
  912.       next if pass & 0x10 == 0x10           # [☆] : 不影响通行
  913.       return true if pass & flag == 0x00    # [○] : 可通行
  914.       return false if pass & flag == flag   # [×] : 不可通行
  915.     end
  916.     return false                            # 通行不可
  917.   end
  918.   #--------------------------------------------------------------------------
  919.   # ● 小型船通行判定
  920.   #     x : X 坐标
  921.   #     y : Y 坐标
  922.   #--------------------------------------------------------------------------
  923.   def boat_passable?(x, y)
  924.     return passable?(x, y, 0x02)
  925.   end
  926.   #--------------------------------------------------------------------------
  927.   # ● 大型船通行判定
  928.   #     x : X 坐标
  929.   #     y : Y 坐标
  930.   #--------------------------------------------------------------------------
  931.   def ship_passable?(x, y)
  932.     return passable?(x, y, 0x04)
  933.   end
  934.   #--------------------------------------------------------------------------
  935.   # ● 飞行船着陆可能判定
  936.   #     x : X 坐标
  937.   #     y : Y 坐标
  938.   #--------------------------------------------------------------------------
  939.   def airship_land_ok?(x, y)
  940.     return passable?(x, y, 0x08)
  941.   end
  942.   #--------------------------------------------------------------------------
  943.   # ● 茂密判定
  944.   #     x : X 坐标
  945.   #     y : Y 坐标
  946.   #--------------------------------------------------------------------------
  947.   def bush?(x, y)
  948.     return false unless valid?(x, y)
  949.     return @passages[@map.data[x, y, 1]] & 0x40 == 0x40
  950.   end
  951.   #--------------------------------------------------------------------------
  952.   # ● 反击判定
  953.   #     x : X 坐标
  954.   #     y : Y 坐标
  955.   #--------------------------------------------------------------------------
  956.   def counter?(x, y)
  957.     return false unless valid?(x, y)
  958.     return @passages[@map.data[x, y, 0]] & 0x80 == 0x80
  959.   end
  960.   #--------------------------------------------------------------------------
  961.   # ● 滚动开始
  962.   #     direction : 滚动方向
  963.   #     distance  : 滚动距离
  964.   #     speed     : 滚动速度
  965.   #--------------------------------------------------------------------------
  966.   def start_scroll(direction, distance, speed)
  967.     @scroll_direction = direction
  968.     @scroll_rest = distance * 256
  969.     @scroll_speed = speed
  970.   end
  971.   #--------------------------------------------------------------------------
  972.   # ● 滚动中中判定
  973.   #--------------------------------------------------------------------------
  974.   def scrolling?
  975.     return @scroll_rest > 0
  976.   end
  977.   #--------------------------------------------------------------------------
  978.   # ● 画面刷新
  979.   #--------------------------------------------------------------------------
  980.   def update
  981.     refresh if $game_map.need_refresh
  982.     update_scroll
  983.     update_events
  984.     update_vehicles
  985.     update_parallax
  986.     update_maze
  987.     @screen.update
  988.   end
  989.   #--------------------------------------------------------------------------
  990.   # ● 刷新迷宫,每20帧刷一次
  991.   #--------------------------------------------------------------------------
  992.   def update_maze   
  993.     @refresh_maze_count = 0 if @refresh_maze_count == nil
  994.     if @refresh_maze_count == 0
  995.       refresh_maze_small
  996.       @refresh_maze_count = 20
  997.     else
  998.       @refresh_maze_count -= 1
  999.     end
  1000.   end
  1001.   #--------------------------------------------------------------------------
  1002.   # ● 滚动刷新
  1003.   #--------------------------------------------------------------------------
  1004.   def update_scroll
  1005.     if @scroll_rest > 0                 # 滚动中的情况下
  1006.       distance = 2 ** @scroll_speed     # 滚动速度变化为地图坐标系的距离
  1007.       case @scroll_direction
  1008.       when 2  # 下
  1009.         scroll_down(distance)
  1010.       when 4  # 左
  1011.         scroll_left(distance)
  1012.       when 6  # 右
  1013.         scroll_right(distance)
  1014.       when 8  # 上
  1015.         scroll_up(distance)
  1016.       end
  1017.       @scroll_rest -= distance          # 滚动距离的减法运算
  1018.     end
  1019.   end
  1020.   #--------------------------------------------------------------------------
  1021.   # ● 刷新事件
  1022.   #--------------------------------------------------------------------------
  1023.   def update_events
  1024.     for event in @events.values
  1025.       event.update
  1026.     end
  1027.     for common_event in @common_events.values
  1028.       common_event.update
  1029.     end
  1030.   end
  1031.   #--------------------------------------------------------------------------
  1032.   # ● 刷新交通工具
  1033.   #--------------------------------------------------------------------------
  1034.   def update_vehicles
  1035.     for vehicle in @vehicles
  1036.       vehicle.update
  1037.     end
  1038.   end
  1039.   #--------------------------------------------------------------------------
  1040.   # ● 刷新远景
  1041.   #--------------------------------------------------------------------------
  1042.   def update_parallax
  1043.     @parallax_x += @parallax_sx * 4 if @parallax_loop_x
  1044.     @parallax_y += @parallax_sy * 4 if @parallax_loop_y
  1045.   end
  1046. end
复制代码

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

2
发表于 2011-8-29 12:23:39 | 只看该作者
你读的档是在导入这个脚本之前存的还是之后。
你试试新游戏之后存档,再读新游戏后存的档试试
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 02:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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