Robert Pattinson plays Batman