Project1

标题: 【RMXP】仿卫星地图大地图【懒人莫用】 [打印本页]

作者: 弗雷德    时间: 2013-3-6 01:15
标题: 【RMXP】仿卫星地图大地图【懒人莫用】
本帖最后由 弗雷德 于 2013-5-25 12:56 编辑

功能其实很简单,就是一个大地图类,脚本还不到200行。但是要配合美工才能有比较好的效果,所以说懒人勿用。

地图需要自己绘制,小地图也是,地名也是,聚焦坐标需要自己计算……总之懒人勿用

效果大概就是:玩家按左右移动竖线,按上下移动横线,当纵贯线的交点坐标与最近的圆点距离在X值之内时,会自动聚焦,

按下确定键进行场所移动。设置方法在脚本都有写。










下面是俺游戏中的效果,总之美化靠自己:懒人勿用




下载地址:戳这里

提取码:znle

俺很少发布技术,因为俺的东西都需要美工的配合,而且都不是插件类。

最后:懒人勿用!

作者: 弗雷德    时间: 2013-3-6 12:44
这么说吧,俺以前上班的地儿天天路过金钟墓园,印象不深刻不行啊。
作者: stevenrock    时间: 2013-3-6 15:26
这个挺不错的,能否请教一下,大地图是用什么方法绘制的呢?
作者: 月下耶鲁夫    时间: 2013-3-6 19:45
“懒人勿用”戳中萌点~
来给大叔顶一下,感觉很有创意
作者: aa479094467    时间: 2013-3-8 19:30
有点像使命召唤的加载动画效果
作者: 羞射了    时间: 2013-3-8 19:37
本帖最后由 羞射了 于 2013-3-8 22:05 编辑

额,和我想象得不太一样啊,我记得那个啥夜啥曲的是不是也有类似的效果??我想象中是这个样子的。

TXT 代码复制
  1. ALLMAP = 1 #记录已开启地图的变量的ID。
  2. FR  = 20 #聚焦半径,当交叉点的坐标离地图目标距离在20个像素以内时,会自动移动靠近。
  3. module SATEMAP
  4.   #定义目标地图,举例:
  5.   #TAGMAP[1] = [400,139,14,4,8]
  6.   #1表示地图ID,400和139表示点在大地图上的坐标,14和4表示场所移动后的坐标。8是朝向。
  7.   #也就是说,当横轴与纵轴的交叉点坐标为400,139时,玩家按下确定键,角色就会面朝上移动到
  8.   #1号地图坐标为14,4的地点。
  9.   TAGMAP = []
  10.   TAGMAP[0] = [0,0,0,0,0,0]
  11.   TAGMAP[1] = [0,0,0,0,0,0]
  12.   TAGMAP[2] = [97,149,1,7,6,2]#森林,面朝右
  13.   TAGMAP[3] = [319,270,1,22,6,3]#山村,面朝右
  14.   TAGMAP[4] = [209,97,5,28,8,4]#沉默,面朝上
  15.   TAGMAP[5] = [565,328,10,1,2,5]#悬崖,面朝下
  16.   TAGMAP[6] = [505,84,1,9,6,6]#极北,面朝右
  17.   TAGMAP[7] = [395,136,1,9,6,7]#体内,面朝右
  18.   TAGMAP[8] = [477,206,20,30,8,8]#海港,面朝上
  19.   TAGMAP[9] = [453,341,11,32,8,9]#深渊,面朝上
  20. end
  21. #==============================================================================
  22. # ■ Scene_Satellite
  23. #------------------------------------------------------------------------------
  24. #  处理卫星地图画面
  25. #==============================================================================
  26. class Scene_Satellite
  27.   #--------------------------------------------------------------------------
  28.   # ● 初始化对像
  29.   #--------------------------------------------------------------------------
  30.   def initialize
  31.     @allmap_id = $game_variables[ALLMAP]
  32.     @focus = 0
  33.     @map_id = $game_map.map_id
  34.  
  35.     [url=home.php?mod=space&uid=36110]@Wait[/url] = 0
  36.     @scroll_time = 8
  37.     @m_real   = [nil,nil]
  38.     @m_target = [nil,nil]
  39.     @m_gap    = [nil,nil]
  40.     @tgm = SATEMAP::TAGMAP.dup
  41.     while @tgm[0][5] == 0
  42.       @tgm.shift
  43.     end
  44.     @index = @tgm.index(SATEMAP::TAGMAP[@map_id])
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 主处理
  48.   #--------------------------------------------------------------------------
  49.   def main
  50.     # 创建背景
  51.     @back = Sprite.new
  52.     @back.bitmap = Bitmap.new("Graphics/Systems/back")
  53.     # 创建X轴
  54.     @mm_x = Sprite.new
  55.     @mm_x.bitmap = Bitmap.new("Graphics/Systems/mm_x")
  56.     @mm_x.y = SATEMAP::TAGMAP[@map_id][1]
  57.     # 创建Y轴
  58.     @mm_y = Sprite.new
  59.     @mm_y.bitmap = Bitmap.new("Graphics/Systems/mm_y")
  60.     @mm_y.x = SATEMAP::TAGMAP[@map_id][0]
  61.     # 创建地点缩略图
  62.     @mm_icon = Sprite.new
  63.     @mm_icon.bitmap = Bitmap.new("Graphics/Systems/Icon/"+@map_id.to_s)
  64.     @mm_icon.x = 15
  65.     @mm_icon.y = 232
  66.  
  67.     # 创建地名
  68.     @mm_name = Sprite.new
  69.     @mm_name.bitmap = Bitmap.new("Graphics/Systems/Name/"+@map_id.to_s)
  70.     @mm_name.x = 60
  71.     @mm_name.y = 380
  72.      # 执行过度
  73.     Graphics.transition(30, "Graphics/Transitions/019-Whorl01" )
  74.     # 主循环
  75.     loop do
  76.       # 刷新游戏画面
  77.       Graphics.update
  78.       # 刷新输入信息
  79.       Input.update
  80.       # 刷新画面
  81.       update
  82.       # 如果画面切换就中断循环
  83.       if $scene != self
  84.         break
  85.       end
  86.     end
  87.     # 装备过渡
  88.     Graphics.freeze
  89.     # 释放窗口
  90.     @back.dispose
  91.     @mm_x.dispose
  92.     @mm_y.dispose
  93.     @mm_name.dispose
  94.     @mm_icon.dispose
  95.   end
  96.  
  97.   def auto_scroll
  98.     for i in 0..1
  99.       @m_real[i] = (@wait > 1)?(@m_target[i] - @m_gap[i] * (@wait ** 2) / (@scroll_time ** 2)):@m_target[i]
  100.     end
  101.     @mm_y.x,@mm_x.y = @m_real[0],@m_real[1]
  102.     @wait -= 1
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ● 刷新画面
  106.   #--------------------------------------------------------------------------
  107.   def update
  108.     if @wait > 0
  109.       auto_scroll
  110.       return
  111.     end
  112.  
  113.     if @map_id != @tgm[@index][5]
  114.      @map_id = @tgm[@index][5]
  115.     @mm_icon.bitmap = Bitmap.new("Graphics/Systems/Icon/"+@map_id.to_s)
  116.     @mm_name.bitmap = Bitmap.new("Graphics/Systems/Name/"+@map_id.to_s)
  117.     end
  118.   #  disjudge
  119.     # 按下 X 键的情况下
  120.     if Input.trigger?(Input::B)
  121.       # 演奏取消 SE
  122.      $game_system.se_play($data_system.cancel_se)
  123.      $scene = Scene_Map.new
  124.       return
  125.     end
  126. #========================================================
  127.     if Input.press?(Input::LEFT)
  128.      old = @tgm[@index]
  129.      @tgm.sort!{|a,b| a[0] - b[0]}
  130.      @index = @tgm.index(old)
  131.      @wait = @scroll_time
  132.      @m_real[0],@m_real[1] = @tgm[@index][0],@tgm[@index][1]
  133.      if @index == 0
  134.       x,y = @tgm[@tgm.size - 1][0],@tgm[@tgm.size - 1][1]
  135.       @index = @tgm.size - 1
  136.     else
  137.       x,y = @tgm[@index - 1][0],@tgm[@index - 1][1]
  138.       @index = @index - 1
  139.     end
  140.  
  141.     @m_target = [x,y]
  142.     for i in 0..1
  143.       @m_gap[i] = @m_target[i] - @m_real[i]
  144.     end
  145.  
  146.   end
  147. #========================================================
  148.     if Input.press?(Input::RIGHT)
  149.      old = @tgm[@index]
  150.      @tgm.sort!{|a,b| a[0] - b[0]}
  151.      @index = @tgm.index(old)
  152.      @wait = @scroll_time
  153.      @m_real[0],@m_real[1] = @tgm[@index][0],@tgm[@index][1]
  154.      if @index == @tgm.size - 1
  155.       x,y = @tgm[0][0],@tgm[0][1]
  156.       @index = 0
  157.     else
  158.       x,y = @tgm[@index + 1][0],@tgm[@index + 1][1]
  159.       @index = @index + 1
  160.     end
  161.  
  162.     @m_target = [x,y]
  163.     for i in 0..1
  164.       @m_gap[i] = @m_target[i] - @m_real[i]
  165.     end
  166.  
  167.   end
  168. #========================================================
  169.  
  170. #========================================================
  171.     if Input.press?(Input::UP)
  172.      old = @tgm[@index]
  173.      @tgm.sort!{|a,b| a[1] - b[1]}
  174.      @index = @tgm.index(old)
  175.      @wait = @scroll_time
  176.      @m_real[0],@m_real[1] = @tgm[@index][0],@tgm[@index][1]
  177.      if @index == 0
  178.       x,y = @tgm[@tgm.size - 1][0],@tgm[@tgm.size - 1][1]
  179.       @index = @tgm.size - 1
  180.     else
  181.       x,y = @tgm[@index - 1][0],@tgm[@index - 1][1]
  182.       @index = @index - 1
  183.     end
  184.  
  185.     @m_target = [x,y]
  186.     for i in 0..1
  187.       @m_gap[i] = @m_target[i] - @m_real[i]
  188.     end
  189.  
  190.   end
  191. #========================================================
  192.     if Input.press?(Input::DOWN)
  193.      old = @tgm[@index]
  194.      @tgm.sort!{|a,b| a[1] - b[1]}
  195.      @index = @tgm.index(old)
  196.      @wait = @scroll_time
  197.      @m_real[0],@m_real[1] = @tgm[@index][0],@tgm[@index][1]
  198.      if @index == @tgm.size - 1
  199.       x,y = @tgm[0][0],@tgm[0][1]
  200.       @index = 0
  201.     else
  202.       x,y = @tgm[@index + 1][0],@tgm[@index + 1][1]
  203.       @index = @index + 1
  204.     end
  205.  
  206.     @m_target = [x,y]
  207.     for i in 0..1
  208.       @m_gap[i] = @m_target[i] - @m_real[i]
  209.     end
  210.  
  211.   end
  212. #========================================================   
  213.  
  214.     if Input.trigger?(Input::C)
  215.     #  if @tag_lock
  216.       $game_system.se_play($data_system.decision_se)
  217.       $game_screen.start_tone_change(Tone.new(-255,-255,-255,0), 0)
  218.       $scene = Scene_Map.new
  219.       $game_temp.player_transferring = true
  220.       $game_temp.player_new_map_id = @map_id
  221.       $game_temp.player_new_x=SATEMAP::TAGMAP[@map_id][2]
  222.       $game_temp.player_new_y=SATEMAP::TAGMAP[@map_id][3]
  223.       $game_temp.player_new_direction = SATEMAP::TAGMAP[@map_id][4]  
  224.       $game_screen.start_tone_change(Tone.new(0,0,0,0), 10)
  225.  
  226.   end
  227.  
  228.   end
  229.  
  230. end

作者: 弗雷德    时间: 2013-3-9 07:20
本帖最后由 弗雷德 于 2013-3-9 07:21 编辑
羞射了 发表于 2013-3-8 19:37
额,和我想象得不太一样啊,我记得那个啥夜啥曲的是不是也有类似的效果??我想象中是这个样子的。

ALLMAP ...

俺这个是模仿丧尸危机的,跟你那个效果不大一样呃。
作者: 紫英晓狼1130    时间: 2013-3-9 08:09
这是熊叔的技术~才知道~
顶一下~
看起来效果超棒~
作者: 东野青龙    时间: 2013-3-9 08:29
Nice!
作者: 精灵使者    时间: 2013-3-9 11:10
我想起了幻世录2的那种大地图风格哦呵呵呵……
我还以为卫星地图什么的就类似于我以前那种呢。
作者: 1203782595    时间: 2013-3-9 21:04
如果不用就证明我疯了。
作者: 梦·林夕    时间: 2013-3-12 21:35
那个,聚焦坐标是怎么算的?
作者: jjxhzz    时间: 2013-8-26 01:05
楼主请问怎么设置大地图有好几张呢 到了第二张大地图 就使用第二张的地图?在脚本里要怎么改?
作者: qq710703736    时间: 2014-2-10 15:08
懒人勿用!
作者: sai90306    时间: 2014-4-20 10:41
本帖最后由 sai90306 于 2014-4-20 10:43 编辑

求救!!把腳本加入GTBS系統後(也有將範例中的地圖一併複製過去)報錯了....

作者: 鱼剑浆糊    时间: 2014-7-7 00:40
本帖最后由 鱼剑浆糊 于 2014-7-7 00:43 编辑

请问如何设置某张地图只有某个事件之后才能在大地图中进入?比如说游戏一开始的时候不能在大地图中进入魔王城,但是游戏结尾让你去魔王城打败魔王,这时大地图才开放进入魔王城的选项
作者: link756367658    时间: 2018-2-2 08:41
链接已挂
作者: 宇治松千夜    时间: 2018-2-3 12:19


  1. ALLMAP = 224 #记录已开启地图的变量的ID。
  2. OPENMAP = 225 #记录已开启地图的变量的ID。
  3. FR  = 20 #聚焦半径,当交叉点的坐标离地图目标距离在20个像素以内时,会自动移动靠近。
  4. module SATEMAP
  5.   #定义目标地图,举例:
  6.   #TAGMAP[1] = [400,139,14,4,8]
  7.   #1表示地图ID,400和139表示点在大地图上的坐标,14和4表示场所移动后的坐标。8是朝向。
  8.   #也就是说,当横轴与纵轴的交叉点坐标为400,139时,玩家按下确定键,角色就会面朝上移动到
  9.   #1号地图坐标为14,4的地点。
  10.   TAGMAP = []
  11.   TAGMAP[11] = [298,23,6,6,2]#森林,面朝右
  12.   TAGMAP[14] = [393,160,13,11,2]#山村,面朝右
  13.   TAGMAP[17] = [318,248,21,5,2]#沉默,面朝上
  14.   TAGMAP[20] = [318,195,54,15,4]#沉默,面朝上
  15.   TAGMAP[24] = [521,463,28,24,4]
  16.   TAGMAP[26] = [466,385,10,58,8]
  17.   TAGMAP[27] = [523,225,1,36,6]
  18.   TAGMAP[30] = [589,347,22,30,6]
  19.   TAGMAP[32] = [541,351,12,24,8]
  20.   TAGMAP[36] = [184,196,28,33,8]
  21.     TAGMAP[33] = [12,334,4,17,8]
  22.     TAGMAP[37] = [216,323,45,9,8]
  23.     TAGMAP[44] = [242,349,5,8,2]
  24.     TAGMAP[39] = [352,322,6,9,8]
  25.   PLACEMAP=[]
  26.   PLACEMAP[11] = [298,23]#森林,面朝右
  27.   PLACEMAP[12] = [219,67]#森林,面朝右
  28.   PLACEMAP[13] = [440,55]#森林,面朝右
  29.   PLACEMAP[14] = [393,160]#山村,面朝右
  30.   PLACEMAP[15] = [497,174]#森林,面朝右
  31.   PLACEMAP[16] = [316,186]#森林,面朝右
  32.   PLACEMAP[17] = [318,248]#沉默,面朝上
  33.   PLACEMAP[18] = [287,363]#沉默,面朝上
  34.   PLACEMAP[19] = [237,451]#沉默,面朝上
  35.   PLACEMAP[20] = [318,195]#沉默,面朝上
  36.   PLACEMAP[24] = [521,463]
  37.   PLACEMAP[25] = [393,428]
  38.   PLACEMAP[26] = [466,385]
  39.   PLACEMAP[27] = [523,225]
  40.   PLACEMAP[28] = [484,138]
  41.   PLACEMAP[29] = [593,45]
  42.   PLACEMAP[30] = [589,347]
  43.   PLACEMAP[32] = [541,351]
  44.   PLACEMAP[33] = [12,334]
  45.   PLACEMAP[34] = [39,385]
  46.   PLACEMAP[36] = [184,196]
  47.   PLACEMAP[37] = [216,323]
  48.   PLACEMAP[44] = [242,349]
  49.   PLACEMAP[39] = [352,322]
  50.   PLACEMAP[41] = [173,316]
  51.   PLACEMAP[38] = [284,322]
  52.   PLACEMAP[42] = [394,316]
  53.   PLACEMAP[40] = [484,324]
  54.   PLACEMAP[43] = [484,316]
  55. end
  56. #==============================================================================
  57. # ■ Scene_Satellite
  58. #------------------------------------------------------------------------------
  59. #  处理卫星地图画面
  60. #==============================================================================
  61. class Scene_Satellite
  62.   #--------------------------------------------------------------------------
  63.   # ● 初始化对像
  64.   #--------------------------------------------------------------------------
  65.   def initialize
  66.     @tagmap=SATEMAP::TAGMAP
  67.     @placemap=SATEMAP::PLACEMAP
  68.     case $game_variables[451]
  69.     when -1
  70.     @tagmap[11] = [365,306,6,6,2]
  71.     @tagmap[24] = [478,121,28,24,4]
  72.     @tagmap[36] = [184,196,28,33,8]
  73.     @placemap[11] = [365,306]
  74.     @placemap[24] = [478,121]
  75.     @placemap[36] = [184,196]
  76.     when 0
  77.     @tagmap[11] = [298,23,6,6,2]
  78.     @placemap[11] = [298,23]
  79.     when 1
  80.     @tagmap[24] = [521,463,28,24,4]
  81.     @placemap[24] = [521,463]
  82.     when 2
  83.   @tagmap[36] = [61,470,28,33,8]
  84.     @placemap[36] = [61,470]
  85.     end
  86.     @allmap_id = $game_variables[ALLMAP]
  87.     @focus = 0
  88.     @map_id = $game_map.map_id
  89.     @tag_lock = false
  90.     $mapdamage_obj.clear if $mapdamage_obj != nil && !$mapdamage_obj.canvas[1].disposed?
  91.     $mapchest_obj.clear if $mapchest_obj != nil && !$mapchest_obj.canvas[1].disposed?
  92.     $mapplayerbuff_obj.clear if $mapplayerbuff_obj != nil
  93.     end
  94.   #--------------------------------------------------------------------------
  95.   # ● 主处理
  96.   #--------------------------------------------------------------------------
  97.   def main
  98.     # 创建背景
  99.     @back = Sprite.new
  100.     case $game_variables[451]
  101.     when -1
  102.     @back.bitmap = Bitmap.new("Graphics/Systems/世界地图")
  103.     when 0
  104.     @back.bitmap = Bitmap.new("Graphics/Systems/地下水路")
  105.     when 1
  106.     @back.bitmap = Bitmap.new("Graphics/Systems/落岩崖")
  107.     when 2
  108.     @back.bitmap = Bitmap.new("Graphics/Systems/列车")
  109.     end
  110.     # 创建X轴
  111.     @mm_x = Sprite.new
  112.     @mm_x.bitmap = Bitmap.new("Graphics/Systems/mm_x")
  113.     @mm_x.y = 0
  114.     @mm_x.y = @placemap[@map_id][1] if @placemap[@map_id]!=nil
  115.     # 创建Y轴
  116.     @mm_y = Sprite.new
  117.     @mm_y.bitmap = Bitmap.new("Graphics/Systems/mm_y")
  118.     @mm_y.x = 0
  119.     @mm_y.x = @placemap[@map_id][0] if @placemap[@map_id]!=nil
  120.     # 创建地点缩略图
  121.     @mm_icon = Sprite.new
  122.     @mm_icon.bitmap = Bitmap.new("Graphics/Systems/Icon/"+@map_id.to_s) if @tagmap[@map_id]!=nil
  123.     @mm_icon.x = 0
  124.     @mm_icon.y = 144
  125.     # 创建地名
  126.     @mm_name = Sprite.new
  127.     if $game_variables[451]==-1
  128.     @mm_name.bitmap = Bitmap.new("Graphics/Systems/mapname/"+@map_id.to_s) if @tagmap[@map_id]!=nil
  129.     else
  130.     @mm_name.bitmap = Bitmap.new("Graphics/Systems/Name/"+@map_id.to_s) if @tagmap[@map_id]!=nil
  131.     end
  132.     @mm_name.x = 0
  133.     @mm_name.y = 320
  134. if $game_variables[451]==-1
  135.     @mm_icon.x = 32
  136.     @mm_icon.y = 224
  137.     @mm_name.x = 32
  138.     @mm_name.y = 416
  139. elsif $game_variables[451]==1
  140.     @mm_icon.x = 32
  141.     @mm_icon.y = 112
  142.     @mm_name.x = 32
  143.     @mm_name.y = 304
  144. elsif $game_variables[451]==2
  145.     @mm_icon.x = 224
  146.     @mm_icon.y = 64
  147.     @mm_name.x = 72
  148.     @mm_name.y = 32
  149.   end
  150.      # 执行过度
  151.     Graphics.transition(30, "Graphics/Transitions/019-Whorl01" )
  152.     # 主循环
  153.     loop do
  154.       # 刷新游戏画面
  155.       Graphics.update
  156.       # 刷新输入信息
  157.       Input.update
  158.       # 刷新画面
  159.       update
  160.       # 如果画面切换就中断循环
  161.       if $scene != self
  162.         break
  163.       end
  164.     end
  165.     # 装备过渡
  166.     Graphics.freeze
  167.     # 释放窗口
  168.     @back.dispose
  169.     @mm_x.dispose
  170.     @mm_y.dispose
  171.     @mm_name.dispose
  172.     @mm_icon.dispose
  173.   end
  174.   #--------------------------------------------------------------------------
  175.   # ● 刷新画面
  176.   #--------------------------------------------------------------------------
  177.   def update
  178.     @mm_icon.bitmap = Bitmap.new("Graphics/Systems/Icon/"+@map_id.to_s) if @tagmap[@map_id]!=nil
  179.     if $game_variables[451]==-1
  180.     @mm_name.bitmap = Bitmap.new("Graphics/Systems/mapname/"+@map_id.to_s) if @tagmap[@map_id]!=nil
  181.     else
  182.     @mm_name.bitmap = Bitmap.new("Graphics/Systems/Name/"+@map_id.to_s) if @tagmap[@map_id]!=nil
  183.     end
  184.     disjudge
  185.     # 按下 X 键的情况下
  186.     if Input.trigger?(Input::B)
  187.       # 演奏取消 SE
  188.      $game_system.se_play($data_system.cancel_se)
  189.      $scene = Scene_Map.new
  190.       return
  191.     end
  192.     #值可以随便定,但是要比校正范围小一定的值。
  193.     if Input.press?(Input::LEFT)   
  194.       if @mm_y.x>0
  195.       @mm_y.x -= 3
  196.       end
  197.      end
  198.     if Input.press?(Input::RIGHT)
  199.      if @mm_y.x<640
  200.       @mm_y.x += 3
  201.       end
  202.      end
  203.     if Input.press?(Input::UP)
  204.       if @mm_x.y>0
  205.       @mm_x.y -= 3
  206.      end
  207.     end
  208.     if Input.press?(Input::DOWN)
  209.       if @mm_x.y<480
  210.       @mm_x.y += 3
  211.       end
  212.     end
  213.     if Input.trigger?(Input::C)
  214.       if @tag_lock && $game_variables[OPENMAP].include?(@map_id)
  215.       $game_system.se_play($data_system.decision_se)
  216.       $game_screen.start_tone_change(Tone.new(-255,-255,-255,0), 0)
  217.       $scene = Scene_Map.new
  218.       $game_temp.player_transferring = true
  219.       case @map_id
  220.       when 11
  221.       $game_variables[2]="地下水路 上层"
  222.       $game_variables[451]=0
  223.       $game_switches[200]=true
  224.       $game_variables[198]=96
  225.       when 14
  226.       $game_variables[2]="地下水路 中层"
  227.       when 17
  228.       $game_variables[2]="地下水路 下层"
  229.       when 20
  230.       $game_variables[2]="马德莱镇"
  231.       $game_variables[451]=-2
  232.       $game_switches[200]=false
  233.       $game_variables[198]=72
  234.       when 24
  235.       $game_variables[2]="落岩崖 崖口"
  236.       $game_variables[451]=1
  237.       $game_switches[200]=true
  238.       $game_variables[198]=64
  239.       when 26,30
  240.       $game_variables[2]="落岩崖 兽道"
  241.       when 27
  242.       $game_variables[2]="落岩崖 崩落道"
  243.       when 32
  244.       $game_variables[2]="咸鱼金字塔"
  245.       when 36
  246.       $game_variables[2]="没有人在的站台"
  247.       $game_variables[451]=2
  248.       $game_switches[200]=true
  249.       $game_variables[198]=64
  250.       when 33,37
  251.       $game_variables[2]="魔导列车 后车厢"
  252.       when 39
  253.       $game_variables[2]="魔导列车 前车厢"
  254.       when 44
  255.       $game_variables[2]="法影之地"
  256.       end
  257.       $game_temp.player_new_map_id = @map_id
  258.       $game_temp.player_new_x=@tagmap[@map_id][2]
  259.       $game_temp.player_new_y=@tagmap[@map_id][3]
  260.       $game_temp.player_new_direction = @tagmap[@map_id][4]  
  261.       $game_screen.start_tone_change(Tone.new(0,0,0,0), 10)
  262.     else
  263.       $game_system.se_play($data_system.buzzer_se)
  264.     end
  265.     end
  266.   end
  267.   #--------------------------------------------------------------------------
  268.   # ● 实时判断
  269.   #--------------------------------------------------------------------------
  270.   def disjudge
  271.     for i in @allmap_id
  272.       ax = @tagmap[i][0]
  273.       ay = @tagmap[i][1]
  274.       x = @mm_y.x
  275.       y = @mm_x.y
  276.       f = FR**2
  277.       dis = (x-ax)**2 + (y-ay)**2
  278.       #自动校正范围,默认16个像素,根据大地图来定。
  279.       if dis <= f
  280.         if x> ax
  281.           @mm_y.x-=1
  282.         elsif x< ax
  283.           @mm_y.x+=1
  284.         end
  285.         if y> ay
  286.           @mm_x.y-=1
  287.         elsif y< ay
  288.           @mm_x.y+=1
  289.         end
  290.         @map_id = i
  291.       end
  292.       if @tagmap[@map_id]!=nil
  293.       dis2 = (x-@tagmap[@map_id][0])**2 + (y-@tagmap[@map_id][1])**2  
  294.       if dis2 < f
  295.         @tag_lock = true
  296.       else
  297.         @tag_lock = false
  298.       end
  299.       end
  300.     end
  301.   end
  302. end
复制代码


代码来自《晴空狂想曲》,作者:阻激夹域
增设了多张大地图的功能~
作者: link756367658    时间: 2018-2-7 10:09
宇治松千夜 发表于 2018-2-3 12:19
代码来自《晴空狂想曲》,作者:阻激夹域
增设了多张大地图的功能~ ...

这个怎么调用呢

作者: 黑白无双    时间: 2018-2-20 22:02
感觉真不错,谢谢楼主分享。
作者: 黑白无双    时间: 2018-2-21 20:30
不错,感谢楼主分享。
作者: adw152152    时间: 2018-5-10 15:25
链接坑了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1