Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么pygame没有降低这个实体的健康?_Python_Pygame - Fatal编程技术网

Python 为什么pygame没有降低这个实体的健康?

Python 为什么pygame没有降低这个实体的健康?,python,pygame,Python,Pygame,我正在研究太空入侵者(我自己的版本),当太空船射杀敌人时,它不会失去生命。以下是降低敌人生命值的代码: 未完成时: #---事件处理和控制 对于pygame.event.get()中的事件: 如果event.type==pygame.QUIT: 完成=正确 elif event.type==pygame.KEYDOWN: 如果event.key==pygame.K_RIGHT: 宇宙飞船改变=10 elif event.key==pygame.K_左: 宇宙飞船改变=-10 elif event

我正在研究太空入侵者(我自己的版本),当太空船射杀敌人时,它不会失去生命。以下是降低敌人生命值的代码:

未完成时:
#---事件处理和控制
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
完成=正确
elif event.type==pygame.KEYDOWN:
如果event.key==pygame.K_RIGHT:
宇宙飞船改变=10
elif event.key==pygame.K_左:
宇宙飞船改变=-10
elif event.key==pygame.K\u r:
红色=(255,0,0)
elif event.type==pygame.KEYUP:
宇宙飞船改变=0
红色=(0,0,0)
宇宙飞船x+=宇宙飞船x改变
#防止飞船离开屏幕
如果太空船>显示宽度-140:
宇宙飞船_x-=10
如果宇宙飞船_x<1:
宇宙飞船_x+=10
如果宇宙飞船_x+69<65,而宇宙飞船_x>75:
蓝色敌人健康=蓝色敌人健康-1
信息(蓝色、白色、65、10、字体、游戏显示)
游戏显示。blit(蓝色敌人,(20,25))

另外,作为旁注,这只是我代码的一小部分。

正如@rabbi76所指出的,您确保
spaceship_x
始终在界限1和
displaywidth
-140之间。然后,你有一个等式
spaceship_x+69<65
,意思是
spaceship_x<-4
。这不会发生在你的代码中

宇宙飞船x和
69
的总和总是大于
65
。因此,如果宇宙飞船x+69<65永远无法满足条件
。因此,
blue\u defect\u health
永远不会增加。

我不认为
spaceship\u x+69
65
小。你是不是不小心把
弄混了?@rabbi76宇宙飞船在移动,而
space_x+69
也在移动。。。。我的意思是
spaceship_x
69
的总和总是大于
65
。因此,如果宇宙飞船_x+69<65
永远都不满足,那么条件就是
。@rabbi76-ahhhh我明白了。谢谢:)。我想知道怎么了。你可以在正确答案中找到帮助!谢谢:)哦,你设法复制了我的评论。好吧,我怎样才能让它回到敌人的射程?我的屏幕宽度是700,高度是500你说的“让它回到敌人的射程”是什么意思