TP是否有功能性冷却

2024-04-29 19:57:25 发布

您现在位置:Python中文网/ 问答频道 /正文

首先让我说,我对python和pygame的了解非常有限。在完成了一些教程之后,我决定尝试使用pygame制作一款自上而下的射击游戏,这是基于我发现的一些在线教程。该程序目前还可以运行,但我正在努力使用一个重新加载功能,它将在弹药耗尽的情况下对玩家的枪进行几秒钟的冷却。我找了好几个小时都没能用上。提前感谢你的任何帮助或建议,任何能指引我正确方向的东西。在

以下是游戏基于的教程链接: http://www.raywenderlich.com/24252/beginning-game-programming-for-teens-with-python

下面是我正在努力解决的代码:

if event.type==pygame.MOUSEBUTTONDOWN:
                shoot.play()
                position=pygame.mouse.get_pos()
                acc[1]+=1
                arrows.append([math.atan2(position[1]-(playerpos1[1]+32), position[0]-(playerpos1[0]+26)),playerpos1[0]+32,playerpos[1]+32])

这会发射炮弹,但我想添加一个弹药计数和一个当弹药为0时冷却的函数

我尝试过的一些东西一直在使用pygame的timer函数,以及utils mod,但是我都无法在我的场景中使用它们。在

下面是我尝试过的一个例子:

^{pr2}$

谢谢你的帮助和建议,如果我的帖子格式不好,很抱歉。在


Tags: 函数程序功能游戏玩家情况position教程
1条回答
网友
1楼 · 发布于 2024-04-29 19:57:25

fire()函数中有一点语法错误。首先,cooldown(我假设它是一个函数)必须用空括号调用:cooldown()。其次,你不能把弹药重置为10。相反,你会问弹药是否已经等于10。修复方法如下:

def fire():
    global ammo
    if ammo == 0:
        cooldown() # call cooldown function with
        ammo = 10 # reset ammo

希望这有帮助,如果我遗漏了什么,请评论,我会编辑:)

编辑:您要求一个cooldown()示例,现在就来。 一种不停止整个游戏的方法是创建一个计数器变量来与游戏循环并行运行。例如:

^{pr2}$

相关问题 更多 >