createAnimationFromName(names, settings) {
		const tpAtlas = [];
		const indices = {};
		let width = 0;
		let height = 0;
		const textureAtlas = this.getAtlas();
		// iterate through the given names
		// and create a "normalized" atlas

		if (typeof names === "undefined") {
			names = textureAtlas;
		}

		for (const i in names) {
			const name = Array.isArray(names) ? names[i] : i;
			const region = this.getRegion(name);
			if (region == null) {
				// throw an error
				throw new Error("Texture - region for " + name + " not found");
			}
			tpAtlas.push(region);
			// save the corresponding index
			indices[name] = tpAtlas.length - 1;
			// calculate the max size of a frame
			width = Math.max(region.width, width);
			height = Math.max(region.height, height);
		}

		// instantiate a new animation sheet object
		return new Sprite(
			0,
			0,
			Object.assign(
				{
					image: this,
					framewidth: width,
					frameheight: height,
					margin: 0,
					spacing: 0,
					atlas: tpAtlas,
					anims: textureAtlas.anims,
					atlasIndices: indices,
				},
				settings || {},
			),
		);
	}
Create an animation object using the first region found using all specified names
@param {string[]|number[]} [names] - list of names for each sprite (if not specified all defined names/entries in the atlas will be added)
(when manually creating a Texture out of a spritesheet, only numeric values are authorized)
@param {object} [settings] - Additional settings passed to the {@link Sprite} contructor
@returns {Sprite}
@example
// create a new texture object under the `game` namespace
game.texture = new me.TextureAtlas(
    me.loader.getJSON("texture"),
    me.loader.getImage("texture")
);

// create a new Animated Sprite
let sprite = game.texture.createAnimationFromName([
    "walk0001.png", "walk0002.png", "walk0003.png",
    "walk0004.png", "walk0005.png", "walk0006.png",
    "walk0007.png", "walk0008.png", "walk0009.png",
    "walk0010.png", "walk0011.png"
]);

// define an additional basic walking animation
sprite.addAnimation ("simple_walk", [0,2,1]);
// you can also use frame name to define your animation
sprite.addAnimation ("speed_walk", ["walk0007.png", "walk0008.png", "walk0009.png", "walk0010.png"]);
// set the default animation
sprite.setCurrentAnimation("simple_walk");
// set the renderable position to bottom center
sprite.anchorPoint.set(0.5, 1.0);