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

Project1

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

[已经解决] 关于卫星地图的错误

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
114 小时
注册时间
2013-5-21
帖子
106
跳转到指定楼层
1
发表于 2013-5-26 10:15:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 stars小星 于 2013-5-29 13:31 编辑



这个具体是什么错误?


本贴已经解决-请点击关于该内容的其他问题
标题:还是卫星地图
http://rpg.blue/thread-313200-1-1.html

点评

拜托,给出完整的脚本好不?==  发表于 2013-5-26 11:04

Lv1.梦旅人

梦石
0
星屑
50
在线时间
114 小时
注册时间
2013-5-21
帖子
106
2
 楼主| 发表于 2013-5-26 10:59:39 | 只看该作者
顶啊!!!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
114 小时
注册时间
2013-5-21
帖子
106
3
 楼主| 发表于 2013-5-26 11:08:49 | 只看该作者
脚本是在论坛下载的:http://rpg.blue/forum.php?mod=viewthread&tid=293855
  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[2] = [97,149,1,7,6]#森林,面朝右
  11.   TAGMAP[3] = [319,270,1,22,6]#山村,面朝右
  12.   TAGMAP[4] = [209,97,5,28,8]#沉默,面朝上
  13.   TAGMAP[5] = [565,328,10,1,2]#悬崖,面朝下
  14.   TAGMAP[6] = [505,84,1,9,6]#极北,面朝右
  15.   TAGMAP[7] = [395,136,1,9,6]#体内,面朝右
  16.   TAGMAP[8] = [477,206,20,30,8]#海港,面朝上
  17.   TAGMAP[9] = [453,341,11,32,8]#深渊,面朝上
  18. end
  19. #==============================================================================
  20. # ■ Scene_Satellite
  21. #------------------------------------------------------------------------------
  22. #  处理卫星地图画面
  23. #==============================================================================
  24. class Scene_Satellite
  25.   #--------------------------------------------------------------------------
  26.   # ● 初始化对像
  27.   #--------------------------------------------------------------------------
  28.   def initialize
  29.     @allmap_id = $game_variables[ALLMAP]
  30.     @focus = 0
  31.     @map_id = $game_map.map_id
  32.     @tag_lock = false
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 主处理
  36.   #--------------------------------------------------------------------------
  37.   def main
  38.     # 创建背景
  39.     @back = Sprite.new
  40.     @back.bitmap = Bitmap.new("Graphics/Systems/back")
  41.     # 创建X轴
  42.     @mm_x = Sprite.new
  43.     @mm_x.bitmap = Bitmap.new("Graphics/Systems/mm_x")
  44.     @mm_x.y = SATEMAP::TAGMAP[@map_id][1]
  45.     # 创建Y轴
  46.     @mm_y = Sprite.new
  47.     @mm_y.bitmap = Bitmap.new("Graphics/Systems/mm_y")
  48.     @mm_y.x = SATEMAP::TAGMAP[@map_id][0]
  49.     # 创建地点缩略图
  50.     @mm_icon = Sprite.new
  51.     @mm_icon.bitmap = Bitmap.new("Graphics/Systems/Icon/"+@map_id.to_s)
  52.     @mm_icon.x = 15
  53.     @mm_icon.y = 232
  54.     # 创建地名
  55.     @mm_name = Sprite.new
  56.     @mm_name.bitmap = Bitmap.new("Graphics/Systems/Name/"+@map_id.to_s)
  57.     @mm_name.x = 60
  58.     @mm_name.y = 380
  59.      # 执行过度
  60.     Graphics.transition(30, "Graphics/Transitions/019-Whorl01" )
  61.     # 主循环
  62.     loop do
  63.       # 刷新游戏画面
  64.       Graphics.update
  65.       # 刷新输入信息
  66.       Input.update
  67.       # 刷新画面
  68.       update
  69.       # 如果画面切换就中断循环
  70.       if $scene != self
  71.         break
  72.       end
  73.     end
  74.     # 装备过渡
  75.     Graphics.freeze
  76.     # 释放窗口
  77.     @back.dispose
  78.     @mm_x.dispose
  79.     @mm_y.dispose
  80.     @mm_name.dispose
  81.     @mm_icon.dispose
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● 刷新画面
  85.   #--------------------------------------------------------------------------
  86.   def update
  87.     @mm_icon.bitmap = Bitmap.new("Graphics/Systems/Icon/"+@map_id.to_s)
  88.     @mm_name.bitmap = Bitmap.new("Graphics/Systems/Name/"+@map_id.to_s)
  89.     disjudge
  90.     # 按下 X 键的情况下
  91.     if Input.trigger?(Input::B)
  92.       # 演奏取消 SE
  93.      $game_system.se_play($data_system.cancel_se)
  94.      $scene = Scene_Map.new
  95.       return
  96.     end
  97.     #值可以随便定,但是要比校正范围小一定的值。
  98.     if Input.press?(Input::LEFT)   
  99.       if @mm_y.x>0
  100.       @mm_y.x -= 3
  101.       end
  102.      end
  103.     if Input.press?(Input::RIGHT)
  104.      if @mm_y.x<640
  105.       @mm_y.x += 3
  106.       end
  107.      end
  108.     if Input.press?(Input::UP)
  109.       if @mm_x.y>0
  110.       @mm_x.y -= 3
  111.      end
  112.     end
  113.     if Input.press?(Input::DOWN)
  114.       if @mm_x.y<480
  115.       @mm_x.y += 3
  116.       end
  117.     end
  118.     if Input.trigger?(Input::C)
  119.       if @tag_lock
  120.       $game_system.se_play($data_system.decision_se)
  121.       $game_screen.start_tone_change(Tone.new(-255,-255,-255,0), 0)
  122.       $scene = Scene_Map.new
  123.       $game_temp.player_transferring = true
  124.       $game_temp.player_new_map_id = @map_id
  125.       $game_temp.player_new_x=SATEMAP::TAGMAP[@map_id][2]
  126.       $game_temp.player_new_y=SATEMAP::TAGMAP[@map_id][3]
  127.       $game_temp.player_new_direction = SATEMAP::TAGMAP[@map_id][4]  
  128.       $game_screen.start_tone_change(Tone.new(0,0,0,0), 10)
  129.     else
  130.       $game_system.se_play($data_system.buzzer_se)
  131.     end
  132.     end
  133.   end
  134.   #--------------------------------------------------------------------------
  135.   # ● 实时判断
  136.   #--------------------------------------------------------------------------
  137.   def disjudge
  138.     for i in @allmap_id
  139.       ax = SATEMAP::TAGMAP[i][0]
  140.       ay = SATEMAP::TAGMAP[i][1]
  141.       x = @mm_y.x
  142.       y = @mm_x.y
  143.       f = FR**2
  144.       dis = (x-ax)**2 + (y-ay)**2
  145.       #自动校正范围,默认16个像素,根据大地图来定。
  146.       if dis <= f
  147.         if x> ax
  148.           @mm_y.x-=1
  149.         elsif x< ax
  150.           @mm_y.x+=1
  151.         end
  152.         if y> ay
  153.           @mm_x.y-=1
  154.         elsif y< ay
  155.           @mm_x.y+=1
  156.         end
  157.         @map_id = i
  158.       end
  159.       dis2 = (x-SATEMAP::TAGMAP[@map_id][0])**2 + (y-SATEMAP::TAGMAP[@map_id][1])**2
  160.       if dis2 < f
  161.         @tag_lock = true
  162.       else
  163.         @tag_lock = false
  164.         end
  165.     end
  166.   end
  167. end
复制代码
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
524
在线时间
329 小时
注册时间
2013-5-16
帖子
740
4
发表于 2013-5-26 11:28:21 | 只看该作者
楼主很不幸的是昨晚正好我也下载测试了。感觉不会用。果断放弃了么
承接各类软件制作以及手机APP等...
我来开始为您讲述一个故事。
有一天,小明去了一个恐怖的森林。
他走了三天三夜,竟然发现了一位漂亮的公主。
公主指着遥远的另一边说。
   那里。才是我们的王堡

[零度火花论坛。原创游戏制作新城堡。请点击。期待来临。]
[零度火花论坛。原创游戏制作新城堡。请点击。期待来临。]
[零度火花论坛。原创游戏制作新城堡。请点击。期待来临。]
(温馨提示:我长达一年以及更久的时间内我没有打理也不会打理零度火花,广告机已经逆天,所以大家最好不要戳进去...)
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

万兽

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

贵宾

5
发表于 2013-5-26 12:17:13 | 只看该作者
应该是目标地图未定义,或是错误定义,所以未能获取到正确的坐标值,请参照4至17行仔细定义。

点评

自己画的,要多少有多少……  发表于 2013-5-28 20:42
= = 发现你有好多熊的头像哦..  发表于 2013-5-28 20:40
熊叔~~吾素雷卡哇=v=  发表于 2013-5-26 19:37
回复 支持 反对

使用道具 举报

Lv2.观梦者

故九江太守

梦石
0
星屑
635
在线时间
2168 小时
注册时间
2012-12-5
帖子
4464
6
发表于 2013-5-26 12:46:49 | 只看该作者
直接在范例里看作者的注释不成吗……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
114 小时
注册时间
2013-5-21
帖子
106
7
 楼主| 发表于 2013-5-26 13:42:38 | 只看该作者
弗雷德 发表于 2013-5-26 12:17
应该是目标地图未定义,或是错误定义,所以未能获取到正确的坐标值,请参照4至17行仔细定义。 ...

44行应该如何改?

点评

很可能是你调用的地图ID在你的游戏数据库中不存在,地图ID要改成你自己游戏地图相应的ID。  发表于 2013-5-26 13:44
不要动。  发表于 2013-5-26 13:43
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
114 小时
注册时间
2013-5-21
帖子
106
8
 楼主| 发表于 2013-5-26 13:51:44 | 只看该作者
我把你默认的地图复制,如何把脚本上的地图id改成复制过来的地图id,还是出现这个错误
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
114 小时
注册时间
2013-5-21
帖子
106
9
 楼主| 发表于 2013-5-26 13:59:20 | 只看该作者
错误是在创建x轴发生的
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
114 小时
注册时间
2013-5-21
帖子
106
10
 楼主| 发表于 2013-5-26 14:03:50 | 只看该作者
恶魔般的天使 发表于 2013-5-26 11:28
楼主很不幸的是昨晚正好我也下载测试了。感觉不会用。果断放弃了么

就算不会用,我也想问到会
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-27 15:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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