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

Project1

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

[已经过期] 如何制作世界地图+传送系统

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
266 小时
注册时间
2014-1-19
帖子
142
跳转到指定楼层
1
发表于 2014-3-18 13:47:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如何制作世界地图+传送系统?????????需要具体范例和教程@恋′挂机 @美丽晨露 @小学生 帮个忙。

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
来自 3楼
发表于 2014-3-18 21:38:21 | 只看该作者
去看看 柳柳 大人 的 《公共事件自制菜单》 的教程 吧 ~

用 公共事件 做这个 其实还是不难的。

稍稍有点 rgss1 知识的话
可以生成N多图片 if 按键 then 刷新图片 end
嗯 就这样吧

点评

能给个范例看看么  发表于 2014-3-20 16:51

评分

参与人数 1星屑 +80 收起 理由
天地有正气 + 80 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

2
发表于 2014-3-18 16:47:44 | 只看该作者
http://rpg.blue/forum.php?mod=viewthread&tid=293855
看不懂或者不会用的直接等其他人的答案吧

点评

这个系统我还是挺喜欢的,就是不知道怎么设置大地图有好几张呢 到了第二张大地图 就使用第二张的地图?在脚本里要怎么改?  发表于 2014-3-18 19:50
请问怎么设置大地图有好几张呢 到了第二张大地图 就使用第二张的地图?在脚本里要怎么改?  发表于 2014-3-18 17:38

评分

参与人数 1星屑 +85 收起 理由
天地有正气 + 85 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
439 小时
注册时间
2013-3-2
帖子
710
4
发表于 2014-3-20 14:22:28 | 只看该作者
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

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

  249. #==============================================================================
  250. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  251. #==============================================================================


复制代码

点评

不大符合我的心意  发表于 2014-3-20 16:50

评分

参与人数 1星屑 +70 收起 理由
天地有正气 + 70 我很赞同

查看全部评分


   
【RMXP共享】50个脚本整合的系统
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
654
在线时间
336 小时
注册时间
2012-2-4
帖子
1767
5
发表于 2014-3-21 20:06:22 | 只看该作者
简易的大地图可以参照Oz大乱斗。具体方法为使用大地图图块。

评分

参与人数 1星屑 +60 收起 理由
天地有正气 + 60 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-21 21:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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