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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: Eclair
打印 上一主题 下一主题

[2VIP+]新人问题..如何解决NPC显示名字刷新滞后..

 关闭 [复制链接]

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

11
发表于 2008-2-1 22:20:33 | 只看该作者
我的电脑应该没你好= =
内啥,是不是还有其他什么脚本……
其实这个显示名字的脚本就是放在Sprite_Character里的
刷新应该是同步刷新吧……真的想象不到是什么其他的问题- -
你刷新的时候FPS没有掉吗?没掉可能就是别的问题了……咩~
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

心无天使

梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-12-15
帖子
1016
12
 楼主| 发表于 2008-2-1 22:22:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

13
发表于 2008-2-1 22:25:06 | 只看该作者
……………只能归结为RP问题……= =
再次测试仍然测试不出问题来…………
抚摸……
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
400 小时
注册时间
2005-10-24
帖子
634
14
发表于 2008-2-1 22:40:58 | 只看该作者
其实应该要把坐标刷新顺序放到行走图之后
#--------------------------------------------------------------------------
# ● 更新画面
#--------------------------------------------------------------------------
def update
  
  #...
  
  @namesprite.x = self.x-80
  @namesprite.y = self.y-self.oy-24

  #@namesprite.visible = $game_switches[39]
  # 设置可视状态
  self.visible = (not @character.transparent)
  # 图形是角色的情况下
  if @tile_id == 0
   # 设置传送目标的矩形
   sx = @character.pattern * @cw
   sy = (@character.direction - 2) / 2 * @ch
   self.src_rect.set(sx, sy, @cw, @ch)
  end
  # 设置脚本的坐标
  self.x = @character.screen_x
  self.y = @character.screen_y

  self.z = @character.screen_z(@ch)
  # 设置不透明度、合成方式、茂密
  self.opacity = @character.opacity
  self.blend_type = @character.blend_type
  self.bush_depth = @character.bush_depth
  # 动画
  if @character.animation_id != 0
   animation = $data_animations[@character.animation_id]
   animation(animation, true)
   @character.animation_id = 0
  end
end

以上是Sprite_Character的update
红色的地方是对@name_sprite的坐标赋值,用的是self.x和self.y作为参考。问题出在self.x和self.y是在后面蓝色的地方才进行这一帧的更新,所以@name_sprite的坐标实际上是以前一帧的self.x和self.y为参考,因而出现了延迟现象。

解决方法:可以把@name_sprite的坐标刷新放到Sprite_Character的坐标刷新之后,或者@name_sprite的坐标不以self.x和self.y为参考,直接取得@character.screen_x等(DRY原则,个人不太推荐这种方法..)
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

心无天使

梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-12-15
帖子
1016
15
 楼主| 发表于 2008-2-1 22:50:27 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

16
发表于 2008-2-1 22:54:04 | 只看该作者
我发现我们都傻了
欢乐地跑过……
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-5 03:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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