【发布时间】:2017-01-04 18:24:09
【问题描述】:
我不确定如何为职业玩家在被击中三下后被杀死的健康系统。有人可以帮忙吗?我正在使用 Python 2.7 进行编码。 我目前有
if pygame.sprite.spritecollideany(player, opponents):
player.kill()
我正在考虑使用变量
player.HP = 3
但它不会死!
if pygame.sprite.spritecollideany(player, opponents):
player.HP -1
if player.HP == 0:
player.kill
但是,就像我说的,它不会死,但代码可以工作。在我添加新系统之前它一直在杀死,现在它不会了。有人可以帮忙吗?谢谢。
【问题讨论】:
-
您可能应该从规模较小的项目开始,而不是完全成熟的图形游戏。您的错误是
player.HP - 1不会改变任何东西。你必须做player.HP = player.HP - 1或player.HP -= 1。这是基本的 Python 内容,以这种方式学习会很痛苦。开始更简单地了解基础知识,然后向上移动。 -
对。不知何故,你设法在不了解变量如何工作的情况下制作了一款游戏。要么接受,要么放弃,但我的建议是从更小更简单的开始——不一定容易——但如果你不了解基础知识,用图形和 sprite 乱搞似乎会适得其反。我不是要在这里刻薄或其他任何事情,这只是建议。您应该查看莱斯大学的 Python 交互式编程简介课程。
-
在诸如“它不会死,但代码有效”之类的声明之后很难为您提供帮助,因为代码显然不像您期望的那样“有效”。这也是一个罕见的问题,提供的代码太少而无法理解。您应该至少提供方法名称、相关代码段和预期结果。尽管存在所有这些缺陷,但第一条评论已经为您提供了答案(很可能)。
-
虽然我不同意其他人的说法,但我不确定为什么这个问题被否决了。 OP 陈述了他的问题并提供了他尝试的代码。新手不值得投反对票。我们不要因为他伸出援手而惩罚他。
标签: python python-2.7 pygame