Y'a toujours plus ou moins moyen j'imagine; ça dépend de la manière dont tu as fait tes sprites dans un premier lieu.
Imaginons que tu aies un sprite qui représente une aile, et que tous tes objets puissent avoir des ailes; dans ce cas tu peux définir des "points d'accroche".
Par exemple tu fixes une dizaine de points, dont tu devras redéfinir la position pour chaque objet (y'a pas de recette miracle pour ça, sauf si tu utilises les variables bbox pour placer tes points relativement à ça), et pour les ailes tu vas dire qu'elles peuvent se fixer sur les points 3 et 5. Sur ton caillou tu mets les points 3 et 5 à tel endroit, sur un autre objet tu les mets ailleurs...
Et tu devrais avoir un résultat correct en dessinant les ailes à ces positions. Après ça met toujours quelques limitations, par exemple si tu as deux types d'objets qui devraient se placer au même endroit mais là dans tous les cas c'est un peu l'anarchie
Après c'est une proposition, c'est ni forcément la meilleure ni celle que tu trouveras la plus adaptée peut être. Mais voilà, je donne des pistes 