Behold another breakthrough idea in parenting:
When a kid is upset by someone else or in a general state of funk and they can't explain it and they can't shake it, ask them "Are you having fun right now?" Whenever my six year old is in his grumpy mode he always answers "No." or if he refuses to give an answer I'll tell him I was having fun, I'd like to have fun, but that right now, things are feeling difficult and I'm not really sure where that started or why it is things aren't fun.
He'll quickly realize he's not alone! Someone else is having a hard time getting past their anger, the grown-up wants the day to improve and, if we work together we can start to have fun again. Create a common difficulty and a way to recognize it and move past it.
It's ok to feel mad or anxious or embarassed, but it's when a kid (or grown-up) gets mired down by those feelings and dwelling to long on them that it begins to affect the relationships he's having to those around him. It can be difficult work to get beyond it all and re-establish the good vibe, but we all have to learn how to live the kind of life we really and truly want and can feel positive about.