Ryan Reynolds was "beaten up" by 'Green Lantern' director Martin Campbell.
The 34-year-old actor - who plays Hal Jordan, a man who is bestowed superpowers by an intergalactic order known as the Green Lantern Corps - says he had to get in shape for the superhero movie and claims Martin's direction was more intense than the actual training itself.
He explained: "I had to wear that suit, so I put in my required time in the gym. But I'm not one of those actors who romanticises his trials working out and brags that he can bench press a Panda now.
"Martin Campbell was more dangerous than the training. He pushes you so hard on the set that he beats you up. I came away with a separated shoulder and a torn abdominal muscle."
To play Hal, who is a daredevil test pilot as well as a superhero, Ryan had to understand what it meant to put himself in danger and says he gained inspiration from family members who are police officers and real-life pilots.
He said: "I come from a family of cops, and all of them share that understanding that they put their lives on the line. They share and deal with that sense of risk every day, so I got to see that up close.
"I also spent time with actual military pilots at an Air Force base to get a sense of who they are and what they do."