My daughter, now 9, is exactly the same way. I hate to tell you, but you will be dealing with the anxiety of new situations until she grows out of it. The best way is to engage her in lots of activities that she is interested in (playground, soccer, dance, gymnastics, playdates, etc..). We took her to the playground and let her watch the other kids. I set up rules that she wanted to play that was great, but Mom was tired and just wanted to watch her play. When she felt comfortable she could go play in the sand. The key is that I would sit on the benches and she could see me and I could get to her in seconds, but I was not going to be playing with her in the sand. She needed to learn that it was OK to be 5 feet from me in public and still be safe. If she didin't want to play in the sand that was fine.
We would even take her to sporting events and have her sit on the outside of me where she would have to sit by a stranger. Getting her into group settings and allowing her to make new friends whether its with a teacher, coach or another child helps her learn to trust others. This was extremely hard for my daughter. Once she felt comfortable with her situation her attitude and behavior would change.
I took her to therapist to discover she has social anxiety. In adults they usually treat with anti-depressants. This was not an option for me since she was around 3 when we discovered it. It is very frustrating to parents to know your child is not comfortable in her surroundings. As you said if you talk about what to expect before you start anything new and try to think of different situations that might come up it makes the transition easier. We would go over how to say "Hi" if someone talked to her. We would practice at home. Normally she would try to hide behind me where she is pushing me over.
It doesn get easier, but the situations they deal with change. My daughter now recognizes when she will have the anxiety and wants to discuss how she might need to act in different situations.