幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2694|回复: 11

[RM2K&2K3] NPC头上显示HP槽的问题(新问题见10F)

[复制链接]

135

主题

926

帖子

441

积分

管理员

少女人形

Rank: 9Rank: 9Rank: 9

积分
441
发表于 2007-10-2 23:00:07 | 显示全部楼层 |阅读模式
在主角头上显示正常,但是放在NPC身上就会看到生成很多个HP槽
大概知道问题原因是脚本不断重复生成HP槽引起的,但是却不知道应该怎样改……OTL
偶是用事件脚本编写的,如果能改成直接插入脚本修改的方法当然更好。
  
事件开始方式:并期处理
事件脚本:(刚开始学写脚本,写得不太正规- -|||)
  1. hpbar = Sprite.new()
  2. hpbar.bitmap = Bitmap.new(32, 8)
  3. hpbar.bitmap.fill_rect(0,0,32,8,Color.new( 0, 0, 0, 255))
  4. hpbar.bitmap.fill_rect(1,1,30,6,Color.new( 255, 255, 255, 255))
  5. hpbar.bitmap.fill_rect(2,2,28,4,Color.new( 50, 150, 150, 255))
  6. hpbar.bitmap.fill_rect(3,3,26,2,Color.new( 25, 50, 50, 255))
  7. w = 26 * $game_actors[2].hp / $game_actors[2].maxhp
  8. hpbar.bitmap.fill_rect(3,3,w,2,Color.new(50, 200, 200, 255))
  9. hpbar.ox=16
  10. hpbar.oy=4
  11. hpbar.x=$game_map.events[@event_id].screen_x
  12. hpbar.y=$game_map.events[@event_id].screen_y-64
  13. hpb.update
复制代码

本帖子中包含更多资源

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

x
回复

使用道具 举报

88

主题

5419

帖子

214748万

积分

版主

S素世上最伟大最华丽

Rank: 7Rank: 7Rank: 7

积分
2147483647
QQ
发表于 2007-10-2 23:10:48 | 显示全部楼层
呃,这个是不能这样写的哎...
这相当于每次循环都会建一个新的精灵,自然旧的还会存在...

正规写法应该...
呃,我不废话了,冬瓜的帖子写得很清楚
http://bbs.rpgchina.com/read-htm-tid-18189.html
回复 支持 反对

使用道具 举报

58

主题

983

帖子

1万

积分

超级版主

隐喻制作组

Rank: 8Rank: 8

积分
10145
发表于 2007-10-2 23:12:33 | 显示全部楼层
dd_map。。。。。。。。。
欢迎有爱的新人老鸟来空想场所畅谈! 点击进入
回复 支持 反对

使用道具 举报

4

主题

54

帖子

606

积分

⑤进阶

积分
606
发表于 2007-10-2 23:52:12 | 显示全部楼层
既然是事件嘛~我又再瞎闹了

条件分歧 独立开关 a 为 on
hpbar.update
除此以外的场合
hpbar = Sprite.new()
hpbar.bitmap = Bitmap.new(32, 8)
hpbar.bitmap.fill_rect(0,0,32,8,Color.new( 0, 0, 0, 255))
hpbar.bitmap.fill_rect(1,1,30,6,Color.new( 255, 255, 255, 255))
hpbar.bitmap.fill_rect(2,2,28,4,Color.new( 50, 150, 150, 255))
hpbar.bitmap.fill_rect(3,3,26,2,Color.new( 25, 50, 50, 255))
w = 26 * $game_actors[2].hp / $game_actors[2].maxhp
hpbar.bitmap.fill_rect(3,3,w,2,Color.new(50, 200, 200, 255))
hpbar.ox=16
hpbar.oy=4
hpbar.x=$game_map.events[@event_id].screen_x
hpbar.y=$game_map.events[@event_id].screen_y-64

脚本完成之后
独立开关a打开
结束分歧

这样可以吗?
我需要不再伤感,没有那种人,没有不平的地方。
回复 支持 反对

使用道具 举报

135

主题

926

帖子

441

积分

管理员

少女人形

Rank: 9Rank: 9Rank: 9

积分
441
 楼主| 发表于 2007-10-3 00:15:37 | 显示全部楼层
楼上的方法不行,虽然HP槽不会重复生成,但是HP槽的坐标和血量也无法刷新了
回复 支持 反对

使用道具 举报

4

主题

142

帖子

214748万

积分

⑤进阶

梦幻007

积分
2147483647
发表于 2007-10-3 11:11:24 | 显示全部楼层
哇,各位都是高手也 [s:1]
版权所有,翻者必究
回复 支持 反对

使用道具 举报

135

主题

926

帖子

441

积分

管理员

少女人形

Rank: 9Rank: 9Rank: 9

积分
441
 楼主| 发表于 2007-10-3 11:23:59 | 显示全部楼层
UP一下,问题还没解决
把update和主体分开虽然能不会重复生成,但是也会出现坐标和血量无法刷新的现象,而且只要打开菜单HP槽就会消失。
大概知道原因是update只能保证Sprite的显示,但是不能刷新内容。
回复 支持 反对

使用道具 举报

122

主题

4962

帖子

74

积分

超级版主

Rank: 8Rank: 8

积分
74

声命组银赏

QQ
发表于 2007-10-4 12:51:04 | 显示全部楼层
刚进来想改主题分类 结果发现又变未解决了……

顺便赞一下FSM改制的XP地图和人物
其实我也做过这种事……
回复 支持 反对

使用道具 举报

88

主题

5419

帖子

214748万

积分

版主

S素世上最伟大最华丽

Rank: 7Rank: 7Rank: 7

积分
2147483647
QQ
发表于 2007-10-4 13:46:59 | 显示全部楼层
写成脚本,使用时再去调用...
实例化一次
@hpbar = Hpbar.new(2, @event_id)
然后@hpbar.update到死
最后dispose消除掉
  1. class Hpbar
  2.   def initialize(actor_id, event_id)
  3.     @id = actor_id
  4.     @event_id = event_id
  5.     @hp = $game_actors[2].hp
  6.     @hpbar = Sprite.new
  7.     @hpbar.bitmap = Bitmap.new(32, 8)
  8.     @hpbar.ox=16
  9.     @hpbar.oy=4
  10.     @hpbar.z = 9999
  11.   end
  12.   def update
  13.     @hpbar.bitmap.fill_rect(0,0,32,8,Color.new( 0, 0, 0, 255))
  14.     @hpbar.bitmap.fill_rect(1,1,30,6,Color.new( 255, 255, 255, 255))
  15.     @hpbar.bitmap.fill_rect(2,2,28,4,Color.new( 50, 150, 150, 255))
  16.     @hpbar.bitmap.fill_rect(3,3,26,2,Color.new( 25, 50, 50, 255))
  17.     w = 26 * $game_actors[@id].hp / $game_actors[@id].maxhp
  18.     @hpbar.bitmap.fill_rect(3,3,w,2,Color.new(50, 200, 200, 255))
  19.     @hpbar.x=$game_map.events[@event_id].screen_x
  20.     @hpbar.y=$game_map.events[@event_id].screen_y-64
  21.     @hpbar.update
  22.   end
  23. end
复制代码

事件脚本,呃,那么短写进去也很难看吧...角色一多修改copy起来也麻烦吧~
回复 支持 反对

使用道具 举报

135

主题

926

帖子

441

积分

管理员

少女人形

Rank: 9Rank: 9Rank: 9

积分
441
 楼主| 发表于 2007-10-5 12:30:57 | 显示全部楼层
感谢S,问题已经解决了~~

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-21 13:27 , Processed in 0.017339 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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