James McAvoy

The 34-year-old actor plays corrupt police officer Bruce Robertson, who spends his time indulging in alcohol abuse and gorges on junk food in John S. Baird's big screen adaptation of Irvine Welsh's twisted novel of the same name, and the Scottish star felt it was important to wake up with regular hangovers to understand the character properly.

He told Nuts magazine: "I ate a lot of pies, I drank a lot of Guinness and I drank a lot of whisky. I enjoy a fair old drink in a spike, like a binge, every now and again, but I don't do it every night. So I tried to drink every night, to the point of being really drunk, just so I'd wake up the next day and feel the way he'd feel."

While he doesn't usually partake in method acting he enjoyed being able to be grumpy on set while hungover.

He explained to Nuts magazine: "I'm not a method actor but it was quite nice being able to got to work the next day and go 'Bah, I f**king hate everything. I hate myself, I hate my breakfast, I hate my shoes, I hate my pants, I hate everything... "