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

Project1

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

[已经解决] 类似梦幻西游单机大地图问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
帖子
225
跳转到指定楼层
1
发表于 2015-3-27 10:36:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
像神剑情天里面那些建邺城,长安城等等的大地图不用图块一个一个拼是怎么做到的?
我的博客:http://wang1212.github.io/

Lv4.逐梦者

【欧皇】

梦石
3
星屑
2066
在线时间
1004 小时
注册时间
2013-8-19
帖子
3486

开拓者

2
发表于 2015-3-27 11:42:51 | 只看该作者
就是用图块的啊==
用截图或自己画的图做图块
有教程的说,百度一搜就有了
QQ:2223942063
Q群:365819625
贪吃方1.4
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
310
在线时间
853 小时
注册时间
2014-5-5
帖子
948
3
发表于 2015-3-27 12:44:02 | 只看该作者
把下载的全景地图按照地图原件的格式 256X?(这个根据素材大小决定)
切割,再拼合
如下图



用PS的切片分割


然后保存




PS再新建一个256x2400,因为有4个,每个600,所以为2400

然后再切片


切片的原因是为了对齐

把所有的图片都弄好后再导入XP就可以了


然后在图块那设置通行,后再画出来

截图07.png (14.15 KB, 下载次数: 11)

截图07.png

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 赞图块拼接教程

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
帖子
225
4
 楼主| 发表于 2015-3-27 13:23:01 | 只看该作者
欧买歌 发表于 2015-3-27 11:42
就是用图块的啊==
用截图或自己画的图做图块
有教程的说,百度一搜就有了 ...

我看文件里面有很多320*320的小图片,就是建业长安的地图碎片,但是用工程看,不显示地图,也就是不是用图块自己拼的,应该是用脚本什么弄的吧,我想知道他是怎么做到的,我想学会这种方法
我的博客:http://wang1212.github.io/
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
97 小时
注册时间
2015-3-27
帖子
225
5
 楼主| 发表于 2015-3-27 13:24:09 | 只看该作者
邪月长啸 发表于 2015-3-27 12:44
把下载的全景地图按照地图原件的格式 256X?(这个根据素材大小决定)
切割,再拼合
如下图

我知道你这个方法,你这个还是自己要用图块拼,但是更便捷

问题是
我看文件里面有很多320*320的小图片,就是建业长安的地图碎片,但是用工程看,不显示地图,也就是不是用图块自己拼的,应该是用脚本什么弄的吧,我想知道他是怎么做到的,我想学会这种方法

点评

不是吧,游戏还能玩啊,工程作者都公布了  发表于 2015-3-27 18:56
那是特殊的加密方法解密后自动删除文件请勿解密!!!!!!!!  发表于 2015-3-27 18:18
我的博客:http://wang1212.github.io/
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
310
在线时间
853 小时
注册时间
2014-5-5
帖子
948
6
发表于 2015-3-27 21:44:06 | 只看该作者
578783944 发表于 2015-3-27 13:24
我知道你这个方法,你这个还是自己要用图块拼,但是更便捷

问题是

球工程链接,我研究看看,谢谢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
51 小时
注册时间
2011-1-22
帖子
11
7
发表于 2015-3-28 13:11:42 | 只看该作者
本帖最后由 石氏の小汎 于 2015-3-28 13:13 编辑
  1. #==============================================================================
  2. # 本脚本来自www.66rpg.com,使用前请参考制作录像
  3. #==============================================================================
  4. # ■ Spriteset_Map
  5. #------------------------------------------------------------------------------
  6. #  处理地图画面活动块和元件的类。本类在
  7. # Scene_Map 类的内部使用。
  8. #==============================================================================

  9. class Spriteset_Map
  10.   attr_accessor :panorama
  11.   attr_accessor :panorama2
  12.   attr_accessor :plane
  13.   attr_accessor :plane2
  14.   Map_width = 320
  15.   Map_height = 240
  16.   #--------------------------------------------------------------------------
  17.   # ● 初始化对像
  18.   #--------------------------------------------------------------------------
  19.   def initialize
  20.     # 生成显示端口
  21.     @viewport1 = Viewport.new(0, 0, 640, 480)
  22.     @viewport2 = Viewport.new(0, 0, 640, 480)
  23.     @viewport3 = Viewport.new(0, 0, 640, 480)
  24.     #@viewport2.z = 200
  25.     @viewport3.z = 5000

  26.     # 生成元件地图
  27.     @tilemap = Tilemap.new(@viewport1)
  28.     @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
  29.     for i in 0..6
  30.       autotile_name = $game_map.autotile_names[i]
  31.       @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
  32.     end
  33.     @tilemap.map_data = $game_map.data
  34.     @tilemap.priorities = $game_map.priorities
  35.     # 生成远景平面
  36.     @path = "map/"#远景图所在路径
  37.     @panorama = []
  38.     @panorama2 = []
  39.     @plane = Plane.new(@viewport1)
  40.     @plane.z = 1
  41.     @plane2 = Plane.new(@viewport1)
  42.     @plane2.z = 3000
  43.     @panorama_status = []
  44.     @type  = ($game_map.width + $game_map.height > 160 ) ? true : false
  45.     for i in 0..8
  46.       @panorama[i] = Sprite.new(@viewport1)
  47.       @panorama[i].z = -1000
  48.       @panorama2[i] = Sprite.new(@viewport1)
  49.       @panorama2[i].z = 3000
  50.       @panorama_status[i] = i
  51.     end
  52.     #图像位置初始化
  53.     update_xy
  54.     # 生成雾平面
  55.     @fog = Plane.new(@viewport1)
  56.     @fog.z = 3000
  57.     # 生成角色活动块
  58.     @character_sprites = []
  59.     for i in $game_map.events.keys.sort
  60.       sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
  61.       @character_sprites.push(sprite)
  62.     end
  63.     @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
  64.     # 生成天气
  65.     @weather = RPG::Weather.new(@viewport1)
  66.     # 生成图片
  67.     @picture_sprites = []
  68.     for i in 1..50
  69.       @picture_sprites.push(Sprite_Picture.new(@viewport2,
  70.         $game_screen.pictures[i]))
  71.     end
  72.     # 生成计时器块
  73.     @timer_sprite = Sprite_Timer.new
  74.     # 刷新画面
  75.     update
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   # ● 释放
  79.   #--------------------------------------------------------------------------
  80.   def dispose
  81.     # 释放元件地图
  82.     @tilemap.tileset.dispose
  83.     for i in 0..6
  84.       @tilemap.autotiles[i].dispose
  85.     end
  86.     @tilemap.dispose
  87.     # 释放远景平面
  88.     for i in 0..8
  89.       if @panorama[i].bitmap != nil
  90.         @panorama[i].bitmap.dispose
  91.       end
  92.       if @panorama2[i].bitmap != nil
  93.         @panorama2[i].bitmap.dispose
  94.       end
  95.       @panorama[i].dispose
  96.       @panorama2[i].dispose
  97.     end
  98.     if @plane.bitmap != nil
  99.       @plane.bitmap.dispose
  100.     end
  101.     if @plane2.bitmap != nil
  102.       @plane2.bitmap.dispose
  103.     end
  104.     @plane.dispose
  105.     @plane2.dispose
  106.     # 释放雾平面
  107.     @fog.dispose
  108.     # 释放角色活动块
  109.     for sprite in @character_sprites
  110.       sprite.dispose
  111.     end
  112.     # 释放天候
  113.     #@weather.dispose
  114.     # 释放图片
  115.     for sprite in @picture_sprites
  116.       sprite.dispose
  117.     end
  118.     # 释放计时器块
  119.     @timer_sprite.dispose
  120.     # 释放显示端口
  121.     @viewport1.dispose
  122.     @viewport2.dispose
  123.     @viewport3.dispose
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● 默认刷新画面
  127.   #--------------------------------------------------------------------------
  128.   def update_default
  129.     # 远景与现在的情况有差异发情况下
  130.     if @panorama_name != $game_map.panorama_name or
  131.        @panorama_hue != $game_map.panorama_hue
  132.       @panorama_name = $game_map.panorama_name
  133.       @panorama_hue = $game_map.panorama_hue
  134.       if @plane.bitmap != nil
  135.         @plane.bitmap.dispose
  136.         @plane2.bitmap.dispose
  137.         @plane.bitmap = nil
  138.         @plane2.bitmap = nil
  139.       end
  140.       if @panorama_name != ""
  141.         @plane.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
  142.         @plane2.bitmap = RPG::Cache.panorama(@panorama_name+"_2", @panorama_hue)
  143.       end
  144.       Graphics.frame_reset
  145.     end
  146.     # 雾与现在的情况有差异的情况下
  147.     if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
  148.       @fog_name = $game_map.fog_name
  149.       @fog_hue = $game_map.fog_hue
  150.       if @fog.bitmap != nil
  151.         @fog.bitmap.dispose
  152.         @fog.bitmap = nil
  153.       end
  154.       if @fog_name != ""
  155.         @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
  156.       end
  157.       Graphics.frame_reset
  158.     end
  159.     # 刷新元件地图
  160.     @tilemap.ox = $game_map.display_x / 4
  161.     @tilemap.oy = $game_map.display_y / 4
  162.     @tilemap.update
  163.     # 刷新远景平面

  164.     @plane.ox = $game_map.display_x / 4
  165.     @plane.oy = $game_map.display_y / 4
  166.     @plane2.ox = @plane.ox
  167.     @plane2.oy = @plane.oy
  168.     # 刷新雾平面
  169.     @fog.zoom_x = $game_map.fog_zoom / 100.0
  170.     @fog.zoom_y = $game_map.fog_zoom / 100.0
  171.     @fog.opacity = $game_map.fog_opacity
  172.     @fog.blend_type = $game_map.fog_blend_type
  173.     @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
  174.     @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
  175.     @fog.tone = $game_map.fog_tone
  176.     # 刷新角色活动块
  177.     for sprite in @character_sprites
  178.         sprite.update
  179.     end
  180.     # 刷新天候图形
  181.     @weather.type = $game_screen.weather_type
  182.     @weather.max = $game_screen.weather_max
  183.     @weather.ox = $game_map.display_x / 4
  184.     @weather.oy = $game_map.display_y / 4
  185.     @weather.update
  186.     # 刷新图片
  187.     for sprite in @picture_sprites
  188.       sprite.update
  189.     end
  190.     # 刷新计时器块
  191.     @timer_sprite.update
  192.     # 设置画面的色调与震动位置
  193.     @viewport1.tone = $game_screen.tone
  194.     @viewport1.ox = $game_screen.shake
  195.     # 设置画面的闪烁色
  196.     @viewport3.color = $game_screen.flash_color
  197.     # 刷新显示端口
  198.     @viewport1.update
  199.     @viewport3.update
  200.   end
  201.   #--------------------------------------------------------------------------
  202.   # ● 刷新画面
  203.   #--------------------------------------------------------------------------
  204.   def update
  205.     if @type == false
  206.       update_default
  207.       return
  208.     end
  209.     # 远景与现在的情况有差异发情况下
  210.     if @panorama_name != $game_map.panorama_name or @panorama_hue != $game_map.panorama_hue
  211.       @panorama_name = $game_map.panorama_name
  212.       @panorama_hue = $game_map.panorama_hue
  213.       # 修正display_x和display_y,避免出现黑底
  214.       $game_map.display_x = $game_map.display_x-($game_map.display_x/4%Map_width)*4+Map_width/2*4
  215.       $game_map.display_y = $game_map.display_y-($game_map.display_y/4%Map_height)*4+Map_height/2*4
  216.       # 开始描绘远景图
  217.       update_panorama
  218.       # 记录旧坐标便于刷新ox和oy
  219.       @old_x = $game_map.display_x
  220.       @old_y = $game_map.display_y
  221.       # 修正如果地图切换时,主角在地图边缘边缘时出现黑底的问题
  222.       if ($game_map.display_x/4+@panorama[2].x) >= ($game_map.width*32)
  223.         $game_map.display_x-=640
  224.       end
  225.       if ($game_map.display_y/4+@panorama[6].y) >= ($game_map.height*32)
  226.         $game_map.display_y-=480
  227.       end
  228.       #防止进入地图时角色在最左边找不到人的BUG
  229.       if $game_player.x <= 10
  230.         $game_map.display_x = 0
  231.       end
  232.       #防止进入地图时角色在最上边找不到人的BUG
  233.       if $game_player.y <= 10
  234.         $game_map.display_y = 0
  235.       #防止进入地图时角色在最下面时最后一个图片高度不为120的情况
  236.       elsif ($game_map.height * 32)%240 != 0
  237.         if ($game_map.height * 32)%240 < Map_height / 2
  238.           $game_map.display_y -=Map_height
  239.         end
  240.       end
  241.     end
  242.     # 雾与现在的情况有差异的情况下
  243.     if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
  244.       @fog_name = $game_map.fog_name
  245.       @fog_hue = $game_map.fog_hue
  246.       if @fog.bitmap != nil
  247.         @fog.bitmap.dispose
  248.         @fog.bitmap = nil
  249.       end
  250.       if @fog_name != ""
  251.         @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
  252.       end
  253.       Graphics.frame_reset
  254.     end
  255.     # 刷新元件地图
  256.     @tilemap.ox = $game_map.display_x / 4
  257.     @tilemap.oy = $game_map.display_y / 4
  258.     @tilemap.update
  259.     # 刷新远景平面
  260.     #如果水平移动
  261.     if @old_x != $game_map.display_x
  262.       v = @old_x / 4
  263.       d = $game_map.display_x / 4
  264.       for i in 0..8
  265.         @panorama[i].ox -= v - d
  266.         @panorama2[i].ox -= v - d
  267.       end
  268.       @old_x = $game_map.display_x
  269.     end  
  270.     #如果竖直移动
  271.     if @old_y != $game_map.display_y
  272.      v = @old_y / 4
  273.      d = $game_map.display_y / 4
  274.       for i in 0..8
  275.         @panorama[i].oy -= v-d
  276.         @panorama2[i].oy -= v-d
  277.       end
  278.       @old_y = $game_map.display_y
  279.     end
  280.     #重新计算图像布局
  281.     x = $game_map.display_x / 4
  282.     a = x / Map_width + 1
  283.     y = $game_map.display_y / 4
  284.     b = y / Map_height + 1
  285.     if @old_plx != a
  286.       if @old_ply != b
  287.         update_ab(x,y,a,b)
  288.       else
  289.         update_a(x,y,a,b)
  290.       end
  291.     end   
  292.     if @old_ply != b
  293.       if @old_plx != a
  294.         update_ab(x,y,a,b)
  295.       else
  296.         update_b(x,y,a,b)
  297.       end   
  298.     end
  299.     # 刷新雾平面
  300.     @fog.zoom_x = $game_map.fog_zoom / 100.0
  301.     @fog.zoom_y = $game_map.fog_zoom / 100.0
  302.     @fog.opacity = $game_map.fog_opacity
  303.     @fog.blend_type = $game_map.fog_blend_type
  304.     @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
  305.     @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
  306.     @fog.tone = $game_map.fog_tone
  307.     # 刷新角色活动块
  308.     for sprite in @character_sprites
  309.       sprite.update
  310.     end
  311.     # 刷新天候图形
  312.     #@weather.type = $game_screen.weather_type
  313.     #@weather.max = $game_screen.weather_max
  314.     #@weather.ox = $game_map.display_x / 4
  315.     #@weather.oy = $game_map.display_y / 4
  316.     #@weather.update
  317.     # 刷新图片
  318.     for sprite in @picture_sprites
  319.       sprite.update
  320.     end
  321.     # 刷新计时器块
  322.     @timer_sprite.update
  323.     # 设置画面的色调与震动位置
  324.     @viewport1.tone = $game_screen.tone
  325.     @viewport1.ox = $game_screen.shake
  326.     # 设置画面的闪烁色
  327.     @viewport3.color = $game_screen.flash_color
  328.     # 刷新显示端口
  329.     @viewport1.update
  330.     @viewport3.update
  331.   end
  332.   #==============================================================================
  333.   # 精灵图像水平变更
  334.   #==============================================================================  
  335.   def update_a(x,y,a,b)
  336.     if a-1 >= 0
  337.       c = a-1
  338.     else
  339.       c = false
  340.     end  
  341.     wi = $game_map.width*32
  342.     if a+1 <= (wi%Map_width == 0 ? wi / Map_width - 1 : wi / Map_width )
  343.       d = a+1
  344.     else
  345.       d = false
  346.     end
  347.     if b-1 >= 0
  348.       e = b-1
  349.     else
  350.       e = false
  351.     end  
  352.     he = $game_map.height*32
  353.     if b+1 <= (he%Map_height == 0 ? he / Map_height - 1 : he / Map_height)
  354.       f = b+1
  355.     else
  356.       f = false
  357.     end
  358.     if a < @old_plx
  359.       for i in 0..8
  360.         case @panorama_status[i]
  361.         when 2
  362.           if @panorama[i].bitmap != nil
  363.             @panorama[i].bitmap.dispose
  364.             @panorama[i].bitmap = nil
  365.           end
  366.           if @panorama2[i].bitmap != nil
  367.             @panorama2[i].bitmap.dispose
  368.             @panorama2[i].bitmap = nil
  369.           end
  370.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{e}", @panorama_hue) if c.is_a?(Fixnum) and e.is_a?(Fixnum)
  371.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{e}", @panorama_hue) if c.is_a?(Fixnum) and e.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  372.         when 5
  373.           if @panorama[i].bitmap != nil
  374.             @panorama[i].bitmap.dispose
  375.             @panorama[i].bitmap = nil
  376.           end
  377.           if @panorama2[i].bitmap != nil
  378.             @panorama2[i].bitmap.dispose
  379.             @panorama2[i].bitmap = nil
  380.           end
  381.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{b}", @panorama_hue) if c.is_a?(Fixnum) and b.is_a?(Fixnum)
  382.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{b}", @panorama_hue) if c.is_a?(Fixnum) and b.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  383.         when 8
  384.           if @panorama[i].bitmap != nil
  385.             @panorama[i].bitmap.dispose
  386.             @panorama[i].bitmap = nil
  387.           end
  388.           if @panorama2[i].bitmap != nil
  389.             @panorama2[i].bitmap.dispose
  390.             @panorama2[i].bitmap = nil
  391.           end
  392.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{f}", @panorama_hue) if c.is_a?(Fixnum) and f.is_a?(Fixnum)
  393.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{f}", @panorama_hue) if c.is_a?(Fixnum) and f.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  394.         end
  395.       end
  396.         #将数组值迭代给@old_panorama_status,不可直接赋值
  397.         @old_panorama_status = @panorama_status.dup
  398.         @panorama_status[0] = @old_panorama_status[1]
  399.         @panorama_status[1] = @old_panorama_status[2]
  400.         @panorama_status[2] = @old_panorama_status[0]
  401.         @panorama_status[3] = @old_panorama_status[4]
  402.         @panorama_status[4] = @old_panorama_status[5]
  403.         @panorama_status[5] = @old_panorama_status[3]
  404.         @panorama_status[6] = @old_panorama_status[7]
  405.         @panorama_status[7] = @old_panorama_status[8]
  406.         @panorama_status[8] = @old_panorama_status[6]
  407.     else
  408.       for i in 0..8
  409.         case @panorama_status[i]
  410.         when 0
  411.           if @panorama[i].bitmap != nil
  412.             @panorama[i].bitmap.dispose
  413.             @panorama[i].bitmap = nil
  414.           end
  415.           if @panorama2[i].bitmap != nil
  416.             @panorama2[i].bitmap.dispose
  417.             @panorama2[i].bitmap = nil
  418.           end
  419.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{e}", @panorama_hue) if d.is_a?(Fixnum) and e.is_a?(Fixnum)
  420.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{e}", @panorama_hue) if d.is_a?(Fixnum) and e.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  421.         when 3
  422.           if @panorama[i].bitmap != nil
  423.             @panorama[i].bitmap.dispose
  424.             @panorama[i].bitmap = nil
  425.           end
  426.           if @panorama2[i].bitmap != nil
  427.             @panorama2[i].bitmap.dispose
  428.             @panorama2[i].bitmap = nil
  429.           end
  430.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{b}", @panorama_hue) if d.is_a?(Fixnum) and b.is_a?(Fixnum)
  431.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{b}", @panorama_hue) if d.is_a?(Fixnum) and b.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  432.         when 6
  433.           if @panorama[i].bitmap != nil
  434.             @panorama[i].bitmap.dispose
  435.             @panorama[i].bitmap = nil
  436.           end
  437.           if @panorama2[i].bitmap != nil
  438.             @panorama2[i].bitmap.dispose
  439.             @panorama2[i].bitmap = nil
  440.           end
  441.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{f}", @panorama_hue) if d.is_a?(Fixnum) and f.is_a?(Fixnum)     
  442.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{f}", @panorama_hue) if d.is_a?(Fixnum) and f.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  443.         end
  444.       end
  445.       @old_panorama_status = @panorama_status.dup
  446.       @panorama_status[0] = @old_panorama_status[2]
  447.       @panorama_status[1] = @old_panorama_status[0]
  448.       @panorama_status[2] = @old_panorama_status[1]
  449.       @panorama_status[3] = @old_panorama_status[5]
  450.       @panorama_status[4] = @old_panorama_status[3]
  451.       @panorama_status[5] = @old_panorama_status[4]
  452.       @panorama_status[6] = @old_panorama_status[8]
  453.       @panorama_status[7] = @old_panorama_status[6]
  454.       @panorama_status[8] = @old_panorama_status[7]
  455.     end
  456.     #更新图像位置
  457.     update_xy
  458.     #图像传送坐标复位
  459.     m = @panorama[0].ox
  460.     if @panorama[0].ox < 0
  461.       for i in 0..8
  462.         @panorama[i].ox = Map_width+m
  463.         @panorama2[i].ox = Map_width+m
  464.       end     
  465.     else
  466.       for i in 0..8
  467.         @panorama[i].ox = -(Map_width)+m
  468.         @panorama2[i].ox = -(Map_width)+m
  469.       end     
  470.     end
  471.     #更新横向旧标识
  472.     @old_plx = a
  473.   end
  474.   #==============================================================================
  475.   # 精灵图像竖直水平变更
  476.   #==============================================================================  
  477.   def update_ab(x,y,a,b)
  478.     if a < @old_plx and b < @old_ply
  479.       if a-1 >= 0
  480.         c = a-1
  481.       else
  482.         c = false
  483.       end  
  484.       wi = $game_map.width*32
  485.       if a+1 <= (wi%Map_width == 0 ? wi / Map_width - 1 : wi / Map_width)
  486.         d = a+1
  487.       else
  488.         d = false
  489.       end
  490.       he = $game_map.height*32
  491.       if b+2 <= (he%Map_height == 0 ? he / Map_height - 1 : he / Map_height)
  492.         e = b+2
  493.       else
  494.         e = false
  495.       end  
  496.       if b+1 <= (he%Map_height == 0 ? he / Map_height - 1 : he / Map_height)
  497.         f = b+1
  498.       else
  499.         f = false
  500.       end     
  501.       for i in 0..8
  502.         case @panorama_status[i]
  503.         when 2
  504.           if @panorama[i].bitmap != nil
  505.             @panorama[i].bitmap.dispose
  506.             @panorama[i].bitmap = nil
  507.           end
  508.           if @panorama2[i].bitmap != nil
  509.             @panorama2[i].bitmap.dispose
  510.             @panorama2[i].bitmap = nil
  511.           end
  512.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{b}", @panorama_hue) if c.is_a?(Fixnum) and e.is_a?(Fixnum)
  513.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{b}", @panorama_hue) if c.is_a?(Fixnum) and e.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  514.         when 5
  515.           if @panorama[i].bitmap != nil
  516.             @panorama[i].bitmap.dispose
  517.             @panorama[i].bitmap = nil
  518.           end
  519.           if @panorama2[i].bitmap != nil
  520.             @panorama2[i].bitmap.dispose
  521.             @panorama2[i].bitmap = nil
  522.           end
  523.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{f}", @panorama_hue) if c.is_a?(Fixnum) and b.is_a?(Fixnum)
  524.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{f}", @panorama_hue) if c.is_a?(Fixnum) and b.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  525.         when 8
  526.           if @panorama[i].bitmap != nil
  527.             @panorama[i].bitmap.dispose
  528.             @panorama[i].bitmap = nil
  529.           end
  530.           if @panorama2[i].bitmap != nil
  531.             @panorama2[i].bitmap.dispose
  532.             @panorama2[i].bitmap = nil
  533.           end
  534.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{e}", @panorama_hue) if c.is_a?(Fixnum) and f.is_a?(Fixnum)
  535.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{e}", @panorama_hue) if c.is_a?(Fixnum) and f.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  536.         end
  537.       end
  538.       @old_panorama_status = @panorama_status.dup
  539.       @panorama_status[0] = @old_panorama_status[1]
  540.       @panorama_status[1] = @old_panorama_status[2]
  541.       @panorama_status[2] = @old_panorama_status[0]
  542.       @panorama_status[3] = @old_panorama_status[4]
  543.       @panorama_status[4] = @old_panorama_status[5]
  544.       @panorama_status[5] = @old_panorama_status[3]
  545.       @panorama_status[6] = @old_panorama_status[7]
  546.       @panorama_status[7] = @old_panorama_status[8]
  547.       @panorama_status[8] = @old_panorama_status[6]
  548.     elsif a < @old_plx and b > @old_ply
  549.       if a-1 >= 0
  550.         c = a-1
  551.       else
  552.         c = false
  553.       end  
  554.       wi = $game_map.width*32
  555.       if a+1 <= (wi%Map_width == 0 ? wi / Map_width - 1 : wi / Map_width)
  556.         d = a+1
  557.       else
  558.         d = false
  559.       end
  560.       if b-2 >= 0
  561.         e = b-2
  562.       else
  563.         e = false
  564.       end  
  565.       if b-1 >= 0
  566.         f = b-1
  567.       else
  568.         f = false
  569.       end     
  570.       for i in 0..8
  571.         case @panorama_status[i]
  572.         when 2
  573.           if @panorama[i].bitmap != nil
  574.             @panorama[i].bitmap.dispose
  575.             @panorama[i].bitmap = nil
  576.           end
  577.           if @panorama2[i].bitmap != nil
  578.             @panorama2[i].bitmap.dispose
  579.             @panorama2[i].bitmap = nil
  580.           end
  581.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{e}", @panorama_hue) if c.is_a?(Fixnum) and e.is_a?(Fixnum)
  582.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{e}", @panorama_hue) if c.is_a?(Fixnum) and e.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  583.         when 5
  584.           if @panorama[i].bitmap != nil
  585.             @panorama[i].bitmap.dispose
  586.             @panorama[i].bitmap = nil
  587.           end
  588.           if @panorama2[i].bitmap != nil
  589.             @panorama2[i].bitmap.dispose
  590.             @panorama2[i].bitmap = nil
  591.           end
  592.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{f}", @panorama_hue) if c.is_a?(Fixnum) and b.is_a?(Fixnum)
  593.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{f}", @panorama_hue) if c.is_a?(Fixnum) and b.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  594.         when 8
  595.           if @panorama[i].bitmap != nil
  596.             @panorama[i].bitmap.dispose
  597.             @panorama[i].bitmap = nil
  598.           end
  599.           if @panorama2[i].bitmap != nil
  600.             @panorama2[i].bitmap.dispose
  601.             @panorama2[i].bitmap = nil
  602.           end
  603.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{b}", @panorama_hue) if c.is_a?(Fixnum) and f.is_a?(Fixnum)
  604.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{b}", @panorama_hue) if c.is_a?(Fixnum) and f.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  605.         end
  606.       end
  607.       @old_panorama_status = @panorama_status.dup
  608.       @panorama_status[0] = @old_panorama_status[1]
  609.       @panorama_status[1] = @old_panorama_status[2]
  610.       @panorama_status[2] = @old_panorama_status[0]
  611.       @panorama_status[3] = @old_panorama_status[4]
  612.       @panorama_status[4] = @old_panorama_status[5]
  613.       @panorama_status[5] = @old_panorama_status[3]
  614.       @panorama_status[6] = @old_panorama_status[7]
  615.       @panorama_status[7] = @old_panorama_status[8]
  616.       @panorama_status[8] = @old_panorama_status[6]
  617.     elsif a > @old_plx and b < @old_ply
  618.       if a-1 >= 0
  619.         c = a-1
  620.       else
  621.         c = false
  622.       end  
  623.       wi = $game_map.width*32
  624.       if a+1 <= (wi%Map_width == 0 ? wi / Map_width - 1 : wi / Map_width)
  625.         d = a+1
  626.       else
  627.         d = false
  628.       end
  629.       he = $game_map.height*32
  630.       if b+2 <= (he%Map_height == 0 ? he / Map_height - 1 : he / Map_height)
  631.         e = b+2
  632.       else
  633.         e = false
  634.       end  
  635.       if b+1 <= (he%Map_height == 0 ? he / Map_height - 1 : he / Map_height)
  636.         f = b+1
  637.       else
  638.         f = false
  639.       end     
  640.       for i in 0..8
  641.         case @panorama_status[i]
  642.         when 0
  643.           if @panorama[i].bitmap != nil
  644.             @panorama[i].bitmap.dispose
  645.             @panorama[i].bitmap = nil
  646.           end
  647.           if @panorama2[i].bitmap != nil
  648.             @panorama2[i].bitmap.dispose
  649.             @panorama2[i].bitmap = nil
  650.           end
  651.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{b}", @panorama_hue) if d.is_a?(Fixnum) and e.is_a?(Fixnum)
  652.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{b}", @panorama_hue) if d.is_a?(Fixnum) and e.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  653.         when 3
  654.           if @panorama[i].bitmap != nil
  655.             @panorama[i].bitmap.dispose
  656.             @panorama[i].bitmap = nil
  657.           end
  658.           if @panorama2[i].bitmap != nil
  659.             @panorama2[i].bitmap.dispose
  660.             @panorama2[i].bitmap = nil
  661.           end
  662.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{f}", @panorama_hue) if d.is_a?(Fixnum) and b.is_a?(Fixnum)
  663.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{f}", @panorama_hue) if d.is_a?(Fixnum) and b.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  664.         when 6
  665.           if @panorama[i].bitmap != nil
  666.             @panorama[i].bitmap.dispose
  667.             @panorama[i].bitmap = nil
  668.           end
  669.           if @panorama2[i].bitmap != nil
  670.             @panorama2[i].bitmap.dispose
  671.             @panorama2[i].bitmap = nil
  672.           end
  673.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{e}", @panorama_hue) if d.is_a?(Fixnum) and f.is_a?(Fixnum)     
  674.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{e}", @panorama_hue) if d.is_a?(Fixnum) and f.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  675.         end
  676.       end
  677.     else
  678.       if a-1 >= 0
  679.         c = a-1
  680.       else
  681.         c = false
  682.       end  
  683.       wi = $game_map.width*32
  684.       if a+1 <= (wi%Map_width == 0 ? wi / Map_width - 1 : wi / Map_width)
  685.         d = a+1
  686.       else
  687.         d = false
  688.       end
  689.       if b-2 >= 0
  690.         e = b-2
  691.       else
  692.         e = false
  693.       end  
  694.       if b-1 >= 0
  695.         f = b-1
  696.       else
  697.         f = false
  698.       end     
  699.       for i in 0..8
  700.         case @panorama_status[i]
  701.         when 0
  702.           if @panorama[i].bitmap != nil
  703.             @panorama[i].bitmap.dispose
  704.             @panorama[i].bitmap = nil
  705.           end
  706.           if @panorama2[i].bitmap != nil
  707.             @panorama2[i].bitmap.dispose
  708.             @panorama2[i].bitmap = nil
  709.           end
  710.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{e}", @panorama_hue) if d.is_a?(Fixnum) and e.is_a?(Fixnum)
  711.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{e}", @panorama_hue) if d.is_a?(Fixnum) and e.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  712.         when 3
  713.           if @panorama[i].bitmap != nil
  714.             @panorama[i].bitmap.dispose
  715.             @panorama[i].bitmap = nil
  716.           end
  717.           if @panorama2[i].bitmap != nil
  718.             @panorama2[i].bitmap.dispose
  719.             @panorama2[i].bitmap = nil
  720.           end
  721.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{f}", @panorama_hue) if d.is_a?(Fixnum) and b.is_a?(Fixnum)
  722.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{f}", @panorama_hue) if d.is_a?(Fixnum) and b.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  723.         when 6
  724.           if @panorama[i].bitmap != nil
  725.             @panorama[i].bitmap.dispose
  726.             @panorama[i].bitmap = nil
  727.           end
  728.           if @panorama2[i].bitmap != nil
  729.             @panorama2[i].bitmap.dispose
  730.             @panorama2[i].bitmap = nil
  731.           end
  732.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{b}", @panorama_hue) if d.is_a?(Fixnum) and f.is_a?(Fixnum)     
  733.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{b}", @panorama_hue) if d.is_a?(Fixnum) and f.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  734.         end
  735.       end
  736.       @old_panorama_status = @panorama_status.dup
  737.       @panorama_status[0] = @old_panorama_status[2]
  738.       @panorama_status[1] = @old_panorama_status[0]
  739.       @panorama_status[2] = @old_panorama_status[1]
  740.       @panorama_status[3] = @old_panorama_status[5]
  741.       @panorama_status[4] = @old_panorama_status[3]
  742.       @panorama_status[5] = @old_panorama_status[4]
  743.       @panorama_status[6] = @old_panorama_status[8]
  744.       @panorama_status[7] = @old_panorama_status[6]
  745.       @panorama_status[8] = @old_panorama_status[7]
  746.     end
  747.     update_xy
  748.     m = @panorama[0].ox
  749.     if @panorama[0].ox < 0
  750.       for i in 0..8
  751.         @panorama[i].ox = Map_width+m
  752.         @panorama2[i].ox = Map_width+m
  753.       end     
  754.     else
  755.       for i in 0..8
  756.         @panorama[i].ox = -(Map_width)+m
  757.         @panorama2[i].ox = -(Map_width)+m
  758.       end     
  759.     end
  760.     @old_plx = a
  761.   end
  762.   #==============================================================================
  763.   # 精灵图像竖直变更
  764.   #==============================================================================  
  765.   def update_b(x,y,a,b)
  766.     if a-1 >= 0
  767.       c = a-1
  768.     else
  769.       c = false
  770.     end  
  771.     wi = $game_map.width*32
  772.     if a+1 <= (wi%Map_width == 0 ? (wi / Map_width - 1) : wi / Map_width)
  773.       d = a+1
  774.     else
  775.       d = false
  776.     end
  777.     if b-1 >= 0
  778.       e = b-1
  779.     else
  780.       e = false
  781.     end  
  782.     he = $game_map.height*32
  783.     if b+1 <= (he%Map_height == 0 ? he / Map_height - 1 : he / Map_height)
  784.       f = b+1
  785.     else
  786.       f = false
  787.     end
  788.     if b < @old_ply
  789.       for i in 0..8
  790.         case @panorama_status[i]
  791.         when 6
  792.           if @panorama[i].bitmap != nil
  793.             @panorama[i].bitmap.dispose
  794.             @panorama[i].bitmap = nil
  795.           end
  796.           if @panorama2[i].bitmap != nil
  797.             @panorama2[i].bitmap.dispose
  798.             @panorama2[i].bitmap = nil
  799.           end
  800.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{e}", @panorama_hue) if c.is_a?(Fixnum) and e.is_a?(Fixnum)
  801.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{e}", @panorama_hue) if c.is_a?(Fixnum) and e.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  802.         when 7
  803.           if @panorama[i].bitmap != nil
  804.             @panorama[i].bitmap.dispose
  805.             @panorama[i].bitmap = nil
  806.           end
  807.           if @panorama2[i].bitmap != nil
  808.             @panorama2[i].bitmap.dispose
  809.             @panorama2[i].bitmap = nil
  810.           end
  811.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{a}-#{e}", @panorama_hue) if a.is_a?(Fixnum) and e.is_a?(Fixnum)
  812.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{a}-#{e}", @panorama_hue) if a.is_a?(Fixnum) and e.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  813.         when 8
  814.           if @panorama[i].bitmap != nil
  815.             @panorama[i].bitmap.dispose
  816.             @panorama[i].bitmap = nil
  817.           end
  818.           if @panorama2[i].bitmap != nil
  819.             @panorama2[i].bitmap.dispose
  820.             @panorama2[i].bitmap = nil
  821.           end
  822.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{e}", @panorama_hue) if d.is_a?(Fixnum) and e.is_a?(Fixnum)
  823.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{e}", @panorama_hue) if d.is_a?(Fixnum) and e.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  824.         end
  825.       end
  826.       @old_panorama_status = @panorama_status.dup
  827.       @panorama_status[0] = @old_panorama_status[3]
  828.       @panorama_status[1] = @old_panorama_status[4]
  829.       @panorama_status[2] = @old_panorama_status[5]
  830.       @panorama_status[3] = @old_panorama_status[6]
  831.       @panorama_status[4] = @old_panorama_status[7]
  832.       @panorama_status[5] = @old_panorama_status[8]
  833.       @panorama_status[6] = @old_panorama_status[0]
  834.       @panorama_status[7] = @old_panorama_status[1]
  835.       @panorama_status[8] = @old_panorama_status[2]
  836.     else
  837.       for i in 0..8
  838.         case @panorama_status[i]
  839.         when 0
  840.           if @panorama[i].bitmap != nil
  841.             @panorama[i].bitmap.dispose
  842.             @panorama[i].bitmap = nil
  843.           end
  844.           if @panorama2[i].bitmap != nil
  845.             @panorama2[i].bitmap.dispose
  846.             @panorama2[i].bitmap = nil
  847.           end
  848.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{f}", @panorama_hue) if c.is_a?(Fixnum) and f.is_a?(Fixnum)
  849.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{f}", @panorama_hue) if c.is_a?(Fixnum) and f.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  850.         when 1
  851.           if @panorama[i].bitmap != nil
  852.             @panorama[i].bitmap.dispose
  853.             @panorama[i].bitmap = nil
  854.           end
  855.           if @panorama2[i].bitmap != nil
  856.             @panorama2[i].bitmap.dispose
  857.             @panorama2[i].bitmap = nil
  858.           end
  859.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{a}-#{f}", @panorama_hue) if a.is_a?(Fixnum) and f.is_a?(Fixnum)
  860.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{a}-#{f}", @panorama_hue) if a.is_a?(Fixnum) and f.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  861.         when 2
  862.           if @panorama[i].bitmap != nil
  863.             @panorama[i].bitmap.dispose
  864.             @panorama[i].bitmap = nil
  865.           end
  866.           if @panorama2[i].bitmap != nil
  867.             @panorama2[i].bitmap.dispose
  868.             @panorama2[i].bitmap = nil
  869.           end
  870.           @panorama[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{f}", @panorama_hue) if d.is_a?(Fixnum) and f.is_a?(Fixnum)     
  871.           @panorama2[i].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{f}", @panorama_hue) if d.is_a?(Fixnum) and f.is_a?(Fixnum) #and FileTest.directory?("Graphics/Panoramas/map/#{@panorama_name}_2")
  872.         end
  873.       end
  874.       @old_panorama_status = @panorama_status.dup
  875.       @panorama_status[0] = @old_panorama_status[6]
  876.       @panorama_status[1] = @old_panorama_status[7]
  877.       @panorama_status[2] = @old_panorama_status[8]
  878.       @panorama_status[3] = @old_panorama_status[0]
  879.       @panorama_status[4] = @old_panorama_status[1]
  880.       @panorama_status[5] = @old_panorama_status[2]
  881.       @panorama_status[6] = @old_panorama_status[3]
  882.       @panorama_status[7] = @old_panorama_status[4]
  883.       @panorama_status[8] = @old_panorama_status[5]
  884.     end
  885.     update_xy
  886.     n = @panorama[0].oy
  887.     if @panorama[0].oy < 0
  888.       for i in 0..8
  889.         @panorama[i].oy = Map_height+n
  890.         @panorama2[i].oy = Map_height+n
  891.       end     
  892.     else
  893.       for i in 0..8
  894.         @panorama[i].oy = -(Map_height)+n
  895.         @panorama2[i].oy = -(Map_height)+n
  896.       end     
  897.     end
  898.     @old_ply = b
  899.   end
  900.   #==============================================================================
  901.   # 设置远景图像
  902.   #==============================================================================
  903.   def update_panorama
  904.     for i in 0..8
  905.       if @panorama[i].bitmap != nil
  906.         @panorama[i].bitmap.dispose
  907.         @panorama[i].bitmap = nil
  908.       end
  909.     end
  910.     if @panorama_name != ""
  911.       x = $game_map.display_x / 4
  912.       a = x / Map_width + 1
  913.       y = $game_map.display_y / 4
  914.       b = y / Map_height + 1
  915.       @old_plx = a
  916.       @old_ply = b
  917.       if a-1 >= 0
  918.         c = a-1
  919.       else
  920.         c = false
  921.       end  
  922.       wi = $game_map.width*32
  923.       if a+1 <= (wi%Map_width == 0 ? wi / Map_width - 1 : wi / Map_width)and wi > 640
  924.         d = a+1
  925.       else
  926.         d = false
  927.       end
  928.       if b-1 >= 0
  929.         e = b-1
  930.       else
  931.         e = false
  932.       end  
  933.       he = $game_map.height*32
  934.       if b+1 <= (he%Map_height == 0 ? he / Map_height - 1 : he / Map_height) and he > 480
  935.         f = b+1
  936.       else
  937.         f = false
  938.       end
  939.       
  940.       @panorama2[0].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{e}", @panorama_hue) if c.is_a?(Fixnum) and e.is_a?(Fixnum)
  941.       @panorama2[1].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{a}-#{e}", @panorama_hue) if a.is_a?(Fixnum) and e.is_a?(Fixnum)
  942.       @panorama2[2].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{e}", @panorama_hue) if d.is_a?(Fixnum) and e.is_a?(Fixnum)
  943.       @panorama2[3].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{b}", @panorama_hue) if c.is_a?(Fixnum) and b.is_a?(Fixnum)
  944.       @panorama2[4].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{a}-#{b}", @panorama_hue) if a.is_a?(Fixnum) and b.is_a?(Fixnum)
  945.       @panorama2[5].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{b}", @panorama_hue) if d.is_a?(Fixnum) and b.is_a?(Fixnum)
  946.       @panorama2[6].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{c}-#{f}", @panorama_hue) if c.is_a?(Fixnum) and f.is_a?(Fixnum)
  947.       @panorama2[7].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{a}-#{f}", @panorama_hue) if a.is_a?(Fixnum) and f.is_a?(Fixnum)
  948.       @panorama2[8].bitmap = RPG::Cache.panorama(@path+@panorama_name+"_2/#{d}-#{f}", @panorama_hue) if d.is_a?(Fixnum) and f.is_a?(Fixnum)         
  949.       @panorama[0].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{e}", @panorama_hue) if c.is_a?(Fixnum) and e.is_a?(Fixnum)
  950.       @panorama[1].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{a}-#{e}", @panorama_hue) if a.is_a?(Fixnum) and e.is_a?(Fixnum)
  951.       @panorama[2].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{e}", @panorama_hue) if d.is_a?(Fixnum) and e.is_a?(Fixnum)
  952.       @panorama[3].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{b}", @panorama_hue) if c.is_a?(Fixnum) and b.is_a?(Fixnum)
  953.       @panorama[4].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{a}-#{b}", @panorama_hue) if a.is_a?(Fixnum) and b.is_a?(Fixnum)
  954.       @panorama[5].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{b}", @panorama_hue) if d.is_a?(Fixnum) and b.is_a?(Fixnum)
  955.       @panorama[6].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{c}-#{f}", @panorama_hue) if c.is_a?(Fixnum) and f.is_a?(Fixnum)
  956.       @panorama[7].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{a}-#{f}", @panorama_hue) if a.is_a?(Fixnum) and f.is_a?(Fixnum)
  957.       @panorama[8].bitmap = RPG::Cache.panorama(@path+@panorama_name+"/#{d}-#{f}", @panorama_hue) if d.is_a?(Fixnum) and f.is_a?(Fixnum)     
  958.     end
  959.     Graphics.frame_reset
  960.   end
  961.   #==============================================================================
  962.   # 设置精灵位置
  963.   #==============================================================================
  964.   def update_xy
  965.     for i in 0..8
  966.       case @panorama_status[i]
  967.       when 0
  968.         @panorama[i].x = (640-Map_width)/2-Map_width
  969.         @panorama[i].y = (480-Map_height)/2-Map_height
  970.         @panorama2[i].x = (640-Map_width)/2-Map_width
  971.         @panorama2[i].y = (480-Map_height)/2-Map_height
  972.       when 1
  973.         @panorama[i].x = (640-Map_width)/2
  974.         @panorama[i].y = (480-Map_height)/2-Map_height
  975.         @panorama2[i].x = (640-Map_width)/2
  976.         @panorama2[i].y = (480-Map_height)/2-Map_height
  977.       when 2
  978.         @panorama[i].x = (640-Map_width)/2+Map_width
  979.         @panorama[i].y = (480-Map_height)/2-Map_height
  980.         @panorama2[i].x = (640-Map_width)/2+Map_width
  981.         @panorama2[i].y = (480-Map_height)/2-Map_height
  982.       when 3
  983.         @panorama[i].x = (640-Map_width)/2-Map_width
  984.         @panorama[i].y = (480-Map_height)/2
  985.         @panorama2[i].x = (640-Map_width)/2-Map_width
  986.         @panorama2[i].y = (480-Map_height)/2
  987.       when 4
  988.         @panorama[i].x = (640-Map_width)/2
  989.         @panorama[i].y = (480-Map_height)/2
  990.         @panorama2[i].x = (640-Map_width)/2
  991.         @panorama2[i].y = (480-Map_height)/2
  992.       when 5
  993.         @panorama[i].x = (640-Map_width)/2+Map_width
  994.         @panorama[i].y = (480-Map_height)/2
  995.         @panorama2[i].x = (640-Map_width)/2+Map_width
  996.         @panorama2[i].y = (480-Map_height)/2
  997.       when 6
  998.         @panorama[i].x = (640-Map_width)/2-Map_width
  999.         @panorama[i].y = (480-Map_height)/2+Map_height
  1000.         @panorama2[i].x = (640-Map_width)/2-Map_width
  1001.         @panorama2[i].y = (480-Map_height)/2+Map_height
  1002.       when 7
  1003.         @panorama[i].x = (640-Map_width)/2
  1004.         @panorama[i].y = (480-Map_height)/2+Map_height
  1005.         @panorama2[i].x = (640-Map_width)/2
  1006.         @panorama2[i].y = (480-Map_height)/2+Map_height
  1007.       when 8
  1008.         @panorama[i].x = (640-Map_width)/2+Map_width
  1009.         @panorama[i].y = (480-Map_height)/2+Map_height
  1010.         @panorama2[i].x = (640-Map_width)/2+Map_width
  1011.         @panorama2[i].y = (480-Map_height)/2+Map_height
  1012.       end
  1013.     end
  1014.   end#结束update_xy
  1015. end
  1016. #==============================================================================
  1017. # 本脚本来自www.66rpg.com,使用前请参考制作录像
  1018. #==============================================================================
复制代码
脚本原因





根据 游戏窗口的大小 等比例 缩小
建议  320x240( ゚ 3゚)

点评

就是这个脚本  发表于 2015-3-28 16:35

评分

参与人数 2梦石 +2 收起 理由
RyanBern + 1 认可答案
myownroc + 1 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12314
在线时间
21821 小时
注册时间
2010-10-24
帖子
308
8
发表于 2015-3-28 13:42:02 | 只看该作者
那不是叫双远景还是三远景吗
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 18:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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