The lead role is filled by Michael Fassbender, who is soon to be seen in X-Men: Days of Future Past – opposite three other actors who have played the troubled Scottish king.
Fassbender will appear as Macbeth next year in director Justin Kurzel’s big screen adaptation of Shakespeare’s Scottish play.
Iain Canning, producer on the new Macbeth, told Empire magazine that it had been “incredibly crucial” to shoot scenes in Scotland.
He said: “You go to Skye, and it’s almost an otherworldy place, and you imagine witches could come out of that landscape.”
In the X-Men movies, Fassbender plays super villain Magneto in his younger days.
McKellen played the lead role in the Royal Shakespeare Company’s 1976 Macbeth directed by Trevor Nunn. Dame Judi Dench played Lady Macbeth.
James McAvoy played the title role in the play at Trafalgar Studios in London’s West End last year.
His X-Men character is good guy Xavier as a young man, who is portrayed as an older figure by Sir Patrick Stewart.
Stewart was the murderous king in 2012’s film version of director Rupert Goold’s highly-acclaimed stage production of Macbeth.
The picture above shows the two actors facing off in X-Men: Days of Future Past.
The scene was not thought to involve comparing notes on who was the better Macbeth.