游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6485|回复: 21

死亡链表!

[复制链接]

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
发表于 2006-12-29 12:27:00 | 显示全部楼层 |阅读模式
为了在游戏里加入迷幻技能(怪物一旦中了迷幻,就会攻击其它怪物,形成怪打怪).我为每个精灵加入了敌人指针,精灵会根据敌人指针去寻找并攻击敌人.可是有时候,一个精灵已经死亡了,已经从精灵分区的链表中删除,而攻击它的其它精灵并未知道它已死亡,这就造成了空悬指针,与内存漏洞.考虑再三,死亡的精灵不会马上删除,而是加进死亡链表中,尸体会停留一定时间再删除,这样其它的精灵就有足够的时间判断敌人是否还存在了:
这种做法是否可行?
sf_20061229122647.png

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
 楼主| 发表于 2006-12-29 12:27:00 | 显示全部楼层

Re: 死亡链表!

尸体:
sf_20061229122726.png

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
 楼主| 发表于 2006-12-29 12:29:00 | 显示全部楼层

Re: 死亡链表!

死亡:
sf_20061229122844.png

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
 楼主| 发表于 2006-12-29 12:30:00 | 显示全部楼层

Re: 死亡链表!

死亡武士:
sf_20061229122939.png

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
 楼主| 发表于 2006-12-29 12:30:00 | 显示全部楼层

Re: 死亡链表!

战斗:
sf_20061229123024.png

20

主题

465

帖子

472

积分

中级会员

Rank: 3Rank: 3

积分
472
QQ
发表于 2006-12-29 12:31:00 | 显示全部楼层

Re:死亡链表!

你在人物中设计一个死亡标记,例如bool dead = true之类的。其它人在对这个单位执行动作的时候,对这个标记进行判断。而且这样在某一个特定的时候,你也可以根据这个值来删除链表中的人物。不用多建链表,把事情搞复杂。

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
 楼主| 发表于 2006-12-29 12:31:00 | 显示全部楼层

Re: 死亡链表!

怪多的时候:
sf_20061229123110.png

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
 楼主| 发表于 2006-12-29 12:32:00 | 显示全部楼层

Re:死亡链表!

现在找不到适合的界面图片,大家有什么好的建议吗?

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
 楼主| 发表于 2006-12-29 12:35:00 | 显示全部楼层

Re: Re:死亡链表!

FlyMagic: Re:死亡链表!

你在人物中设计一个死亡标记,例如bool dead = true之类的。其它人在对这个单位执行动作的时候,对这个标记...

这个我当然知道, 我是有专门的标记的,但是在一次循环中,比如A,B,C攻击D.A已经把D杀死了,但B,C还在这次循环中保留了D的指针,明白吗?是在一次循环中!
而且,一个怪死了,马上消失不见,有点不合情理,尸体还要留一会.
[em5]

20

主题

465

帖子

472

积分

中级会员

Rank: 3Rank: 3

积分
472
QQ
发表于 2006-12-29 12:38:00 | 显示全部楼层

Re:死亡链表!

“但B,C还在这次循环中保留了D的指针。”
对啊,但是你在行动时就进行判断,要不要攻击。这样的话,就不会对自己死亡的人攻击,这样就没有问题了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 04:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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