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

Project1

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

[已经解决] 怎么在大地图上显示各个城市的名字

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2010-8-22
帖子
28
跳转到指定楼层
1
发表于 2013-8-23 15:16:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题,我想在世界地图上每个城市旁边显示城市的名字,怎么弄呀,求解答

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2013-8-20
帖子
26
2
发表于 2013-8-23 15:26:28 | 只看该作者
可以用事件...
但是如果你是要用腳本的話我就幫不了你了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2010-8-22
帖子
28
3
 楼主| 发表于 2013-8-23 15:28:24 | 只看该作者
balloon80391 发表于 2013-8-23 15:26
可以用事件...
但是如果你是要用腳本的話我就幫不了你了

事件的话怎么弄呀,就比如说世界地图上城市旁别写上伦敦,塞维利亚这些名字什么的
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2013-8-20
帖子
26
4
发表于 2013-8-23 15:33:28 | 只看该作者
嗯...先作城市名稱的素材文件
可以做成Character或是Picture
如果是Character就直接當成事件...
Picture就設置一個事件管理全部的圖片檔...
(VX的圖片格式我還不太熟悉說...2K3簡單多了= .=)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2010-8-22
帖子
28
5
 楼主| 发表于 2013-8-23 15:41:15 | 只看该作者
balloon80391 发表于 2013-8-23 15:33
嗯...先作城市名稱的素材文件
可以做成Character或是Picture
如果是Character就直接當成事件...

原来如此,谢谢啦,虽然有点麻烦。。我去试试看{:2_275:}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2010-8-22
帖子
28
6
 楼主| 发表于 2013-8-23 15:58:57 | 只看该作者
balloon80391 发表于 2013-8-23 15:33
嗯...先作城市名稱的素材文件
可以做成Character或是Picture
如果是Character就直接當成事件...

我试了一下,Character的话选中不全,不会弄
Picture的话,因为世界地图很大,一移动,名字的位置就窜位了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
39
在线时间
115 小时
注册时间
2012-1-23
帖子
103
7
发表于 2013-8-23 16:19:36 | 只看该作者
可以画在地图上。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2010-8-22
帖子
28
8
 楼主| 发表于 2013-8-23 16:33:17 | 只看该作者
1587937102 发表于 2013-8-23 16:19
可以画在地图上。

地图是素材绘制的,怎么画上去呀
回复 支持 反对

使用道具 举报

Lv1.梦旅人

進擊中的小怪

梦石
0
星屑
50
在线时间
67 小时
注册时间
2013-8-12
帖子
312
9
发表于 2013-8-23 16:50:14 | 只看该作者
  1. #==============================================================================
  2. # 显示NPC名
  3. #------------------------------------------------------------------------------
  4. # 跟原版一样,EV开头的不显示,逗号后加颜色代码
  5. # 修改某事件名的方法:
  6. #   set_npc_name("新名", 事件ID, 地图ID, 是否永久生效)
  7. #     事件ID 为空时表示当前事件
  8. #     地图ID 为空时表示当前地图
  9. #     是否永久生效 默认永久,否则只允许修改当前地图
  10. #==============================================================================
  11. # 参数设定
  12. #==============================================================================
  13. module NPC
  14.   NAME_FONT = "黑体"
  15.   NAME_SIZE = 16
  16.   NAME_SHADOW = false
  17.   NAME_WIDTH = 120
  18. end
  19. #==============================================================================
  20. # 重定事件名
  21. #==============================================================================
  22. def set_npc_name(name, event_id = nil, map_id = nil, forever = true)
  23.   # 处理事件 ID
  24.   if event_id == nil
  25.     event_id = $game_map.interpreter.event_id
  26.   end
  27.   # 处理地图 ID
  28.   if map_id == nil
  29.     $game_map.events[event_id].name = name
  30.     map_id = $game_map.map_id
  31.   else
  32.     map_id = map_id
  33.   end
  34.   return unless forever
  35.   data = load_data(sprintf("Data/Map%03d.rvdata", map_id))
  36.   # 更改名
  37.   data.events[event_id].name = name
  38.   save_data(data, sprintf("Data/Map%03d.rvdata", map_id))
  39. end
  40. #==============================================================================
  41. # ■ Game_Character
  42. #==============================================================================
  43. class Game_Character
  44.   #--------------------------------------------------------------------------
  45.   # ◎ 定义实例变量
  46.   #--------------------------------------------------------------------------
  47.   attr_accessor :name                  # 名称
  48.   #--------------------------------------------------------------------------
  49.   # ◎ 初始化对象
  50.   #--------------------------------------------------------------------------
  51.   alias character_ini initialize
  52.   def initialize
  53.     character_ini
  54.     @name = ""
  55.   end
  56. end
  57. #==============================================================================
  58. # ■ Game_Event
  59. #==============================================================================
  60. class Game_Event < Game_Character
  61.   #--------------------------------------------------------------------------
  62.   # ◎ 定义实例变量
  63.   #--------------------------------------------------------------------------
  64.   attr_reader   :erased
  65.   #--------------------------------------------------------------------------
  66.   # ◎ 初始化对像
  67.   #     map_id : 地图 ID
  68.   #     event  : 事件 (RPG::Event)
  69.   #--------------------------------------------------------------------------
  70.   alias event_ini initialize
  71.   def initialize(map_id, event)
  72.     event_ini(map_id, event)
  73.     @name = @event.name
  74.   end
  75. end
  76. #==============================================================================
  77. # ■ Game_Player
  78. #==============================================================================
  79. class Game_Player < Game_Character
  80.   #--------------------------------------------------------------------------
  81.   # ◎ 获取角色名
  82.   #--------------------------------------------------------------------------
  83.   def name
  84.     return $game_party.members[0].name
  85.   end
  86. end
  87. #==============================================================================
  88. # ■ Game_Interpreter
  89. #==============================================================================
  90. class Game_Interpreter
  91.   #--------------------------------------------------------------------------
  92.   # ◎ 定义实例变量
  93.   #--------------------------------------------------------------------------
  94.   attr_reader   :event_id
  95. end
  96. #==============================================================================
  97. # ■ Sprite_Character
  98. #==============================================================================
  99. class Sprite_Character < Sprite_Base
  100.   #--------------------------------------------------------------------------
  101.   # ◎ 初始化对象
  102.   #     viewport  : 视区
  103.   #     character : 角色 (Game_Character)
  104.   #--------------------------------------------------------------------------
  105.   def initialize(viewport, character = nil)
  106.     super(viewport)
  107.     @character = character
  108.     @balloon_duration = 0
  109.     ## 名称
  110.     @name = @character.name
  111.     set_name_sprite
  112.     update
  113.   end
  114.   #--------------------------------------------------------------------------
  115.   # ◎ 释放
  116.   #--------------------------------------------------------------------------
  117.   def dispose
  118.     dispose_balloon
  119.     super
  120.     ##
  121.     return if @name_sprite == nil
  122.     @name_sprite.bitmap.dispose
  123.     @name_sprite.dispose
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● 更新画面
  127.   #--------------------------------------------------------------------------
  128.   def update
  129.     super
  130.     update_bitmap
  131.     self.visible = (not @character.transparent)
  132.     update_src_rect
  133.     self.x = @character.screen_x
  134.     self.y = @character.screen_y
  135.     self.z = @character.screen_z
  136.     self.opacity = @character.opacity
  137.     self.blend_type = @character.blend_type
  138.     self.bush_depth = @character.bush_depth
  139.     update_balloon
  140.     if @character.animation_id != 0
  141.       animation = $data_animations[@character.animation_id]
  142.       start_animation(animation)
  143.       @character.animation_id = 0
  144.     end
  145.     if @character.balloon_id != 0
  146.       @balloon_id = @character.balloon_id
  147.       start_balloon
  148.       @character.balloon_id = 0
  149.     end
  150.     ## 名称可视和跟随
  151.     unless @name_sprite == nil or @name_sprite.disposed?
  152.       if @character.is_a?(Game_Event) and @character.erased
  153.         @name_sprite.visible = false
  154.         return
  155.       else
  156.         @name_sprite.visible = true
  157.       end
  158.       if @character.is_a?(Game_Player) and @character.in_vehicle?
  159.         @name_sprite.visible = false
  160.         return
  161.       else
  162.         @name_sprite.visible = true
  163.       end
  164.       if @name != @character.name
  165.         @name = @character.name
  166.         refresh_name_sprite
  167.       end
  168.       @name_sprite.x = self.x - 80
  169.       @name_sprite.y = self.y - self.height - NPC::NAME_SIZE+2
  170.       @name_sprite.z = self.z+1
  171.     end
  172.   end
  173.   #--------------------------------------------------------------------------
  174.   # ○ 设定 NPC 名称
  175.   #--------------------------------------------------------------------------
  176.   def set_name_sprite
  177.     return if @character.name[0, 2] == "EV"
  178.     return if @character.name == ""
  179.     return if @character.character_name == ""
  180.     return if @character.is_a?(Game_Event) and @character.erased
  181.     @color_board = Window_Base.new(0,0,33,33)
  182.     @color_board.visible = false
  183.     @name_sprite = Sprite.new
  184.     @name_sprite.bitmap = Bitmap.new(NPC::NAME_WIDTH, NPC::NAME_SIZE+2)
  185.     @name_sprite.bitmap.font.name = NPC::NAME_FONT
  186.     @name_sprite.bitmap.font.size = NPC::NAME_SIZE
  187.     @name_sprite.bitmap.font.shadow = NPC::NAME_SHADOW
  188.     refresh_name_sprite
  189.   end
  190.   #--------------------------------------------------------------------------
  191.   # ○ 更新 NPC 名称
  192.   #--------------------------------------------------------------------------
  193.   def refresh_name_sprite
  194.     name,color_index = @name.split(/,/)
  195.     color_index = 0 if color_index == ""
  196.     @name_sprite.bitmap.font.color = @color_board.text_color(color_index.to_i)
  197.     @name_sprite.bitmap.clear
  198.     @name_sprite.bitmap.draw_text(0,0,160,NPC::NAME_SIZE+2,name,1)
  199.   end
  200. end
复制代码
然后直接改事件名称
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2010-8-22
帖子
28
10
 楼主| 发表于 2013-8-23 17:30:36 | 只看该作者
syjtc1234697899 发表于 2013-8-23 16:50
然后直接改事件名称

插入进去不好使呀,显示177行发生了NoMethodError,怎么弄呀

点评

你是怎么用的 插入后把事件名称改为伦敦事件上就会显示伦敦  发表于 2013-8-23 17:34
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-24 04:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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