Two people have died and five others were injured after shots were fired outside a theatre in Richmond, Virginia, where a high school graduation ceremony had just ended.
A 19-year-old suspect tried to escape on foot but was arrested and will be charged with two counts of second-degree murder, interim Richmond Police Chief Rick Edwards said.
One of the people who was killed was an 18-year-old male student who had just graduated from Huguenot High School, while the other was a 36-year-old man who was there for the ceremony, Mr Edwards added.
Their names were not released, but police believe the suspect, who was not immediately identified, knew at least one of the victims.
Five others were wounded by the gunfire outside the state capital’s city-owned Altria Theatre, which is across the street from a large park and in the middle of the Virginia Commonwealth University campus.
At least 12 others were injured or treated for anxiety in the aftermath of the gunfire, according to police, with people who had attended the ceremony and many others in the surrounding area fleeing in panic.
“As they heard the gunfire, it was obviously chaos,” Mr Edwards said. “We had hundreds of people in Monroe Park, so people scattered. It was very chaotic at the scene.
“This should have been a safe space. People should have felt safe at a graduation.
“It’s just incredibly tragic that someone decided to bring a gun to this incident and rain terror on our community.”
Six people were brought to VCU Medical Centre and their conditions ranged from serious to critical late on Tuesday, VCU Health System spokesperson Mary Kate Brogan said.
Multiple handguns were recovered. Police initially said two suspects were detained, but Mr Edwards said later that they determined one of them was not involved.
Richmond Mayor Levar Stoney vowed that anyone responsible would face justice.
“This should not be happening anywhere,” Mr Stoney said.
Officers inside the theatre, where the graduation ceremony for Huguenot High School had been taking place, heard gunfire around 5.15pm (10.15pm BST) and radioed to police stationed outside, who found multiple victims, Mr Edwards said.
School board member Jonathan Young told Richmond TV station WWBT that graduates and other attendees were leaving the building when they heard about 20 gunshots in rapid succession.
“That prompted, as you would expect, hundreds of persons in an effort to flee the gunfire to return to the building,” Mr Young said.
“It materialised in a stampede.”
Two people were treated for falls; one juvenile was struck by a car and sustained injuries that were not life-threatening; and nine people were treated at the scene for minor injuries or anxiety, according to police spokeswoman Tracy Walker.
Richmond Public Schools Superintendent Jason Kamras said the new graduates were outside taking photos with families and friends when the shooting broke out.
“I don’t have any more words on this,” Mr Kamras said. “I’m just tired of seeing people get shot, our kids get shot. And I beg of the entire community to stop, to just stop.”
The mass shooting, the latest in a nation increasingly accustomed to them, prompted calls for reform.
US representative Jennifer McClellan, a Democrat whose district includes Richmond, said: “The gun violence epidemic is a public health crisis that we must address.
“We cannot continue to live in fear. We must address the root causes of gun violence and pass common sense gun safety policies that protect our communities.”
Republican Lt Gov Winsome Earle-Sears, an ardent gun-rights advocate, said in remarks to news outlets near the scene that the problem lies not with guns but with criminals.
“We have to figure out what’s going on in our communities,” she said.