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你说的“让它回到敌人的射程”是什么意思