Answer
Yes, he has acted in a horror film. He played the role of John Constantine in the 2005 film Constantine. The film was based on the comic book series Hellblazer, and it was directed by Francis Lawrence. Constantine was a demon hunter who was able to see the supernatural world. He was also able to travel to Hell and Heaven.