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

Project1

 找回密码
 注册会员
搜索
查看: 2573|回复: 16

名字挡住了人物,怎么修改?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
9 小时
注册时间
2006-9-7
帖子
303
发表于 2009-1-9 03:59:12 | 显示全部楼层 |阅读模式

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

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

x

   名字挡住了人物,怎么修改,让名字不会挡住了人物.

   

   
   使用的脚本:

  
  1. #-------------------------------------------------------------------------------
  2. class Game_Event < Game_Character
  3. def name
  4.   return @event.name
  5. end  
  6. def name=(newname)
  7.   @event.name = newname
  8. end
  9. end
  10. class Game_Player < Game_Character
  11. def name
  12.      return $game_party.actors[0].name
  13. end
  14. end

  15. class Sprite_Character < RPG::Sprite
  16. #--------------------------------------------------------------------------
  17. # ● 定义实例变量
  18. #--------------------------------------------------------------------------
  19. attr_accessor :character              
  20. def initialize(viewport, character = nil)
  21.   name = character.name
  22.   super(viewport)
  23.   @character = character
  24.   @namesprite = Sprite.new
  25.   @namesprite.bitmap = Bitmap.new(160, 45)
  26.   @namesprite.bitmap.font.name = "宋体"
  27.   @namesprite.bitmap.font.size = 16
  28.   @namesprite.bitmap.font.color.set(0, 255, 0)
  29.   @evname = name
  30.   @evname_split = name.split(/,/)[0]
  31.   if name[0, 2]=="EV"
  32.     @evname_split = " "
  33.   end
  34.   if name.split(/,/)[1] != nil
  35.     case name.split(/,/)[1]
  36.     when "0"
  37.       @namesprite.bitmap.font.color.set(255, 255, 255)
  38.     when "1"
  39.       @namesprite.bitmap.font.color.set(128, 128, 255)
  40.     when "2"
  41.       @namesprite.bitmap.font.color.set(255, 128, 128)
  42.     when "3"
  43.       @namesprite.bitmap.font.color.set(128, 255, 128)
  44.     when "4"
  45.       @namesprite.bitmap.font.color.set(128, 255, 255)
  46.     when "5"
  47.       @namesprite.bitmap.font.color.set(255, 128, 255)
  48.     when "6"
  49.       @namesprite.bitmap.font.color.set(255, 255, 128)
  50.     when "7"
  51.       @namesprite.bitmap.font.color.set(192, 192, 192)
  52.     else
  53.       @namesprite.bitmap.font.color.set(0, 255, 0)
  54.     end
  55.   end
  56.   if @evname_split != "" and @evname_split != nil
  57.     @namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
  58.   end
  59.   update
  60. end
  61. end



  62. class Sprite_Character < RPG::Sprite
  63. def update
  64.    super
  65.      if @evname != @character.name
  66.     @namesprite.bitmap.clear
  67.     @evname = @character.name
  68.     @evname_split = @character.name.split(/,/)[0]
  69.     if @character.name.split(/,/)[1] != nil
  70.       case @character.name.split(/,/)[1]
  71.       when "0"
  72.         @namesprite.bitmap.font.color.set(255, 255, 255)
  73.       when "1"
  74.         @namesprite.bitmap.font.color.set(128, 128, 255)
  75.       when "2"
  76.         @namesprite.bitmap.font.color.set(255, 128, 128)
  77.       when "3"
  78.         @namesprite.bitmap.font.color.set(128, 255, 128)
  79.       when "4"
  80.         @namesprite.bitmap.font.color.set(128, 255, 255)
  81.       when "5"
  82.         @namesprite.bitmap.font.color.set(255, 128, 255)
  83.       when "6"
  84.         @namesprite.bitmap.font.color.set(255, 255, 128)
  85.       when "7"
  86.         @namesprite.bitmap.font.color.set(192, 192, 192)
  87.       else
  88.         @namesprite.bitmap.font.color.set(0, 255, 0)
  89.       end
  90.     end
  91.       @namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
  92.   end
  93.   @namesprite.x = self.x-80  
  94.   @namesprite.y = self.y-self.oy + 160
  95.    # 元件 ID、文件名、色相与现在的情况存在差异的情况下
  96.    if @tile_id != @character.tile_id or
  97.       @character_name != @character.character_name or
  98.       @character_hue != @character.character_hue
  99.      # 记忆元件 ID 与文件名、色相
  100.      @tile_id = @character.tile_id
  101.      @character_name = @character.character_name
  102.      @character_hue = @character.character_hue
  103.      # 元件 ID 为有效值的情况下
  104.      if @tile_id >= 384
  105.        self.bitmap = RPG::Cache.tile($game_map.tileset_name,
  106.          @tile_id, @character.character_hue)
  107.        self.src_rect.set(0, 0, 32, 32)
  108.        self.ox = 16
  109.        self.oy = 32
  110.      # 元件 ID 为无效值的情况下
  111.      else
  112.        self.bitmap = RPG::Cache.character(@character.character_name,
  113.          @character.character_hue)
  114.        @cw = bitmap.width / $c3_每一步的帧数
  115.        if $c3_总共可用的方向数==4
  116.          @ch = bitmap.height / 4
  117.        else
  118.          @ch = bitmap.height / 8
  119.        end
  120.        self.ox = @cw / 2
  121.        self.oy = @ch
  122.      end
  123.    end
  124.    # 设置可视状态
  125.    self.visible = (not @character.transparent)
  126.    # 图形是角色的情况下
  127.    if @tile_id == 0
  128.      # 设置传送目标的矩形
  129.      sx = @character.pattern * @cw
  130.      if $c3_总共可用的方向数==8
  131.        case @character.direction
  132.        when 2
  133.          sy = 0 * @ch
  134.        when 4
  135.          sy = 1 * @ch
  136.        when 6
  137.          sy = 2 * @ch
  138.        when 8
  139.          sy = 3 * @ch
  140.        when 1
  141.          sy = 4 * @ch
  142.        when 3
  143.          sy = 5 * @ch
  144.        when 7
  145.          sy = 6 * @ch
  146.        when 9
  147.          sy = 7 * @ch
  148.        end
  149.      else
  150.        sy = (@character.direction - 2) / 2 * @ch
  151.      end
  152.      self.src_rect.set(sx, sy, @cw, @ch)
  153.    end
  154.    # 设置脚本的坐标
  155.    self.x = @character.screen_x
  156.    self.y = @character.screen_y
  157.    self.z = @character.screen_z(@ch)
  158.    # 设置不透明度、合成方式、茂密
  159.    self.opacity = @character.opacity
  160.    self.blend_type = @character.blend_type
  161.    self.bush_depth = @character.bush_depth
  162.    # 动画
  163.    if @character.animation_id != 0
  164.      animation = $data_animations[@character.animation_id]
  165.      animation(animation, true)
  166.      @character.animation_id = 0
  167.    end
  168. end
  169. end
复制代码


十年磨一剑,蓦然回首,年华如水,青春如歌。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-8-27
帖子
1581
发表于 2009-1-9 04:04:21 | 显示全部楼层
应该是把名字的Z坐标调高(貌似是调高吧,请无视我的胡言乱语- -)
BW2又流产了……小柯……懒散……一水……茄子……晨风……还有等等……我要吐槽你们!!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-10-12
帖子
1276
发表于 2009-1-9 04:05:31 | 显示全部楼层
显示NPC名字脚本?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
9 小时
注册时间
2006-9-7
帖子
303
 楼主| 发表于 2009-1-9 04:09:10 | 显示全部楼层
脚本已经发上去了,麻烦高手帮我看看怎么修改? 谢谢
十年磨一剑,蓦然回首,年华如水,青春如歌。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
9 小时
注册时间
2006-9-7
帖子
303
 楼主| 发表于 2009-1-10 00:33:27 | 显示全部楼层
有人解决了这样的问题吗?
十年磨一剑,蓦然回首,年华如水,青春如歌。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
32 小时
注册时间
2008-7-21
帖子
323
发表于 2009-1-10 00:35:10 | 显示全部楼层
为什么不把名字弄短点..
   一个能为你哭,为你笑,为你悲伤,为你快乐的人,就是真正爱你的人
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
394 小时
注册时间
2007-4-2
帖子
954
发表于 2009-1-10 00:59:44 | 显示全部楼层
一般都是把名字放在头上的吧。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
9 小时
注册时间
2006-9-7
帖子
303
 楼主| 发表于 2009-1-10 01:19:35 | 显示全部楼层
把名字弄短点和把名字放在头上都不能解决问题啊, 我还是更希望把名字放在脚下.
十年磨一剑,蓦然回首,年华如水,青春如歌。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
87 小时
注册时间
2007-7-26
帖子
313
发表于 2009-1-10 01:46:11 | 显示全部楼层
加一句@namesprite.z = @character.screen_z(@ch)-200 试试。我也不太懂。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
9 小时
注册时间
2006-9-7
帖子
303
 楼主| 发表于 2009-1-10 02:12:15 | 显示全部楼层


  加上这一句会提示出错 位置 Game_Character 1

      # 如果高度超过 32 就判定为满足 31
      return z + ((height > 32) ? 31 : 0)  
  
  修改成  return z  可以正常进入,但还是没有效果.

以下引用落叶小舟于2009-1-9 17:46:11的发言:

加一句@namesprite.z = @character.screen_z(@ch)-200 试试。我也不太懂。

十年磨一剑,蓦然回首,年华如水,青春如歌。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-12 08:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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