### Godot version

v4.0.beta16.official.518b9e580

### System information

Vulkan API 1.2.231 - Apple M1 Max

### Issue description

AnimatedSprite2D `play` seems to not work anymore. Maybe it is related to https://github.com/godotengine/godot/pull/71907
I have two animations: `default` and `hurt`.
<img width="865" alt="Screen Shot 2023-01-28 at 11 06 13" src="https://user-images.githubusercontent.com/3025661/215270842-998dc3e5-7695-4099-a9b3-8b52ef66d768.png">
<img width="865" alt="Screen Shot 2023-01-28 at 11 06 19" src="https://user-images.githubusercontent.com/3025661/215270891-c4df02e2-444c-4477-b273-bb13d909ea84.png">


---

When I call `play("hurt")` nothing happens.
<img width="506" alt="Screen Shot 2023-01-28 at 11 07 41" src="https://user-images.githubusercontent.com/3025661/215270901-119c0801-d6cb-432b-b320-f7e2822a6511.png">


https://user-images.githubusercontent.com/3025661/215270941-d56753fb-8653-40e6-8094-98537fb88187.mov



### Steps to reproduce

Download the project, run the project and press space bar. The expected behavior is switch the green checkmark for a red X.

### Minimal reproduction project

[animated_sprite_2d.zip](https://github.com/godotengine/godot/files/10527438/animated_sprite_2d.zip)

}
		float v_uv[2] = { (float)uvs[i].x, (float)uvs[i].y };
		memcpy(&attribute_write_buffer[i * attrib_stride + mesh_surface_offsets[RS::ARRAY_TEX_UV]], v_uv, 8);
		float v_vertex[3] = { (float)vtx.x, (float)vtx.y, (float)vtx.z };
		memcpy(&vertex_write_buffer[i * vertex_stride + mesh_surface_offsets[RS::ARRAY_VERTEX]], &v_vertex, sizeof(float) * 3);
		memcpy(&vertex_write_buffer[i * vertex_stride + mesh_surface_offsets[RS::ARRAY_NORMAL]], &v_normal, 4);
		memcpy(&vertex_write_buffer[i * vertex_stride + mesh_surface_offsets[RS::ARRAY_TANGENT]], &v_tangent, 4);
		memcpy(&attribute_write_buffer[i * attrib_stride + mesh_surface_offsets[RS::ARRAY_COLOR]], v_color, 4);
	}
	RID mesh_new = get_mesh();
	RS::get_singleton()->mesh_surface_update_vertex_region(mesh_new, 0, 0, vertex_buffer);
	RS::get_singleton()->mesh_surface_update_attribute_region(mesh_new, 0, 0, attribute_buffer);
	RS::get_singleton()->mesh_set_custom_aabb(mesh_new, aabb_new);
	set_aabb(aabb_new);
	RID shader_rid;
	StandardMaterial3D::get_material_for_2d(get_draw_flag(FLAG_SHADED), get_draw_flag(FLAG_TRANSPARENT), get_draw_flag(FLAG_DOUBLE_SIDED), get_alpha_cut_mode() == ALPHA_CUT_DISCARD, get_alpha_cut_mode() == ALPHA_CUT_OPAQUE_PREPASS, get_billboard_mode() == StandardMaterial3D::BILLBOARD_ENABLED, get_billboard_mode() == StandardMaterial3D::BILLBOARD_FIXED_Y, false, get_draw_flag(FLAG_DISABLE_DEPTH_TEST), get_draw_flag(FLAG_FIXED_SIZE), get_texture_filter(), &shader_rid);
	if (last_shader != shader_rid) {
		RS::get_singleton()->material_set_shader(get_material(), shader_rid);
		last_shader = shader_rid;
	}
	if (last_texture != p_texture->get_rid()) {
		RS::get_singleton()->material_set_param(get_material(), "texture_albedo", p_texture->get_rid());
		last_texture = p_texture->get_rid();
	}
	if (get_alpha_cut_mode() == ALPHA_CUT_DISABLED) {
		RS::get_singleton()->material_set_render_priority(get_material(), get_render_priority());
		RS::get_singleton()->mesh_surface_set_material(mesh, 0, get_material());
	}
}
void SpriteBase3D::set_centered(bool p_center) {