Hello. Il y a pas mal de soucis avec les collisions. En fait, tu doubles la taille des astronautes en les affichant (scale de fonction draw), mais tu ne tiens pas compte de leur nouvelle taille pour gérer les collisions. D'ailleurs, la taille que tu indiques ne correspond pas non plus à la taille réelle des images.
Pour te faciliter la tâche, tu devrais faire des sprites directement à la bonne taille, sans utiliser le scaling de love (sinon, il faut tenir compte de cette transformation).
De plus, tes sprites ne devraient pas avoir de larges contours transparents, il faut les recadrer, sinon ça compliquer vraiment les choses.
Ainsi, ca te permettra d'utiliser le getWidth() et le getHeight() pour obtenir la taille du sprite dans ton code, sans te prendre la tête.
Si tu as le temps (et l'envie) de corriger, préviens-moi, et je viendrais jeter un œil au résultat :-)