sprite-animated.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546
  1. /*!
  2. * @pixi/sprite-animated - v6.5.10
  3. * Compiled Thu, 06 Jul 2023 15:25:11 UTC
  4. *
  5. * @pixi/sprite-animated is licensed under the MIT License.
  6. * http://www.opensource.org/licenses/mit-license
  7. */
  8. this.PIXI = this.PIXI || {};
  9. var _pixi_sprite_animated = (function (exports, core, sprite, ticker) {
  10. 'use strict';
  11. /*! *****************************************************************************
  12. Copyright (c) Microsoft Corporation.
  13. Permission to use, copy, modify, and/or distribute this software for any
  14. purpose with or without fee is hereby granted.
  15. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
  16. REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
  17. AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
  18. INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  19. LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  20. OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  21. PERFORMANCE OF THIS SOFTWARE.
  22. ***************************************************************************** */
  23. /* global Reflect, Promise */
  24. var extendStatics = function(d, b) {
  25. extendStatics = Object.setPrototypeOf ||
  26. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  27. function (d, b) { for (var p in b) { if (b.hasOwnProperty(p)) { d[p] = b[p]; } } };
  28. return extendStatics(d, b);
  29. };
  30. function __extends(d, b) {
  31. extendStatics(d, b);
  32. function __() { this.constructor = d; }
  33. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  34. }
  35. var __assign = function() {
  36. __assign = Object.assign || function __assign(t) {
  37. var arguments$1 = arguments;
  38. for (var s, i = 1, n = arguments.length; i < n; i++) {
  39. s = arguments$1[i];
  40. for (var p in s) { if (Object.prototype.hasOwnProperty.call(s, p)) { t[p] = s[p]; } }
  41. }
  42. return t;
  43. };
  44. return __assign.apply(this, arguments);
  45. };
  46. function __rest(s, e) {
  47. var t = {};
  48. for (var p in s) { if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
  49. { t[p] = s[p]; } }
  50. if (s != null && typeof Object.getOwnPropertySymbols === "function")
  51. { for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
  52. if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
  53. { t[p[i]] = s[p[i]]; }
  54. } }
  55. return t;
  56. }
  57. function __decorate(decorators, target, key, desc) {
  58. var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
  59. if (typeof Reflect === "object" && typeof Reflect.decorate === "function") { r = Reflect.decorate(decorators, target, key, desc); }
  60. else { for (var i = decorators.length - 1; i >= 0; i--) { if (d = decorators[i]) { r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; } } }
  61. return c > 3 && r && Object.defineProperty(target, key, r), r;
  62. }
  63. function __param(paramIndex, decorator) {
  64. return function (target, key) { decorator(target, key, paramIndex); }
  65. }
  66. function __metadata(metadataKey, metadataValue) {
  67. if (typeof Reflect === "object" && typeof Reflect.metadata === "function") { return Reflect.metadata(metadataKey, metadataValue); }
  68. }
  69. function __awaiter(thisArg, _arguments, P, generator) {
  70. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  71. return new (P || (P = Promise))(function (resolve, reject) {
  72. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  73. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  74. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  75. step((generator = generator.apply(thisArg, _arguments || [])).next());
  76. });
  77. }
  78. function __generator(thisArg, body) {
  79. var _ = { label: 0, sent: function() { if (t[0] & 1) { throw t[1]; } return t[1]; }, trys: [], ops: [] }, f, y, t, g;
  80. return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
  81. function verb(n) { return function (v) { return step([n, v]); }; }
  82. function step(op) {
  83. if (f) { throw new TypeError("Generator is already executing."); }
  84. while (_) { try {
  85. if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) { return t; }
  86. if (y = 0, t) { op = [op[0] & 2, t.value]; }
  87. switch (op[0]) {
  88. case 0: case 1: t = op; break;
  89. case 4: _.label++; return { value: op[1], done: false };
  90. case 5: _.label++; y = op[1]; op = [0]; continue;
  91. case 7: op = _.ops.pop(); _.trys.pop(); continue;
  92. default:
  93. if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
  94. if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
  95. if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
  96. if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
  97. if (t[2]) { _.ops.pop(); }
  98. _.trys.pop(); continue;
  99. }
  100. op = body.call(thisArg, _);
  101. } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } }
  102. if (op[0] & 5) { throw op[1]; } return { value: op[0] ? op[1] : void 0, done: true };
  103. }
  104. }
  105. function __createBinding(o, m, k, k2) {
  106. if (k2 === undefined) { k2 = k; }
  107. o[k2] = m[k];
  108. }
  109. function __exportStar(m, exports) {
  110. for (var p in m) { if (p !== "default" && !exports.hasOwnProperty(p)) { exports[p] = m[p]; } }
  111. }
  112. function __values(o) {
  113. var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
  114. if (m) { return m.call(o); }
  115. if (o && typeof o.length === "number") { return {
  116. next: function () {
  117. if (o && i >= o.length) { o = void 0; }
  118. return { value: o && o[i++], done: !o };
  119. }
  120. }; }
  121. throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
  122. }
  123. function __read(o, n) {
  124. var m = typeof Symbol === "function" && o[Symbol.iterator];
  125. if (!m) { return o; }
  126. var i = m.call(o), r, ar = [], e;
  127. try {
  128. while ((n === void 0 || n-- > 0) && !(r = i.next()).done) { ar.push(r.value); }
  129. }
  130. catch (error) { e = { error: error }; }
  131. finally {
  132. try {
  133. if (r && !r.done && (m = i["return"])) { m.call(i); }
  134. }
  135. finally { if (e) { throw e.error; } }
  136. }
  137. return ar;
  138. }
  139. function __spread() {
  140. var arguments$1 = arguments;
  141. for (var ar = [], i = 0; i < arguments.length; i++)
  142. { ar = ar.concat(__read(arguments$1[i])); }
  143. return ar;
  144. }
  145. function __spreadArrays() {
  146. var arguments$1 = arguments;
  147. for (var s = 0, i = 0, il = arguments.length; i < il; i++) { s += arguments$1[i].length; }
  148. for (var r = Array(s), k = 0, i = 0; i < il; i++)
  149. { for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
  150. { r[k] = a[j]; } }
  151. return r;
  152. };
  153. function __await(v) {
  154. return this instanceof __await ? (this.v = v, this) : new __await(v);
  155. }
  156. function __asyncGenerator(thisArg, _arguments, generator) {
  157. if (!Symbol.asyncIterator) { throw new TypeError("Symbol.asyncIterator is not defined."); }
  158. var g = generator.apply(thisArg, _arguments || []), i, q = [];
  159. return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
  160. function verb(n) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } }
  161. function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
  162. function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
  163. function fulfill(value) { resume("next", value); }
  164. function reject(value) { resume("throw", value); }
  165. function settle(f, v) { if (f(v), q.shift(), q.length) { resume(q[0][0], q[0][1]); } }
  166. }
  167. function __asyncDelegator(o) {
  168. var i, p;
  169. return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
  170. function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
  171. }
  172. function __asyncValues(o) {
  173. if (!Symbol.asyncIterator) { throw new TypeError("Symbol.asyncIterator is not defined."); }
  174. var m = o[Symbol.asyncIterator], i;
  175. return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
  176. function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
  177. function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
  178. }
  179. function __makeTemplateObject(cooked, raw) {
  180. if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
  181. return cooked;
  182. };
  183. function __importStar(mod) {
  184. if (mod && mod.__esModule) { return mod; }
  185. var result = {};
  186. if (mod != null) { for (var k in mod) { if (Object.hasOwnProperty.call(mod, k)) { result[k] = mod[k]; } } }
  187. result.default = mod;
  188. return result;
  189. }
  190. function __importDefault(mod) {
  191. return (mod && mod.__esModule) ? mod : { default: mod };
  192. }
  193. function __classPrivateFieldGet(receiver, privateMap) {
  194. if (!privateMap.has(receiver)) {
  195. throw new TypeError("attempted to get private field on non-instance");
  196. }
  197. return privateMap.get(receiver);
  198. }
  199. function __classPrivateFieldSet(receiver, privateMap, value) {
  200. if (!privateMap.has(receiver)) {
  201. throw new TypeError("attempted to set private field on non-instance");
  202. }
  203. privateMap.set(receiver, value);
  204. return value;
  205. }
  206. /**
  207. * An AnimatedSprite is a simple way to display an animation depicted by a list of textures.
  208. *
  209. * ```js
  210. * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"];
  211. * let textureArray = [];
  212. *
  213. * for (let i=0; i < 4; i++)
  214. * {
  215. * let texture = PIXI.Texture.from(alienImages[i]);
  216. * textureArray.push(texture);
  217. * };
  218. *
  219. * let animatedSprite = new PIXI.AnimatedSprite(textureArray);
  220. * ```
  221. *
  222. * The more efficient and simpler way to create an animated sprite is using a {@link PIXI.Spritesheet}
  223. * containing the animation definitions:
  224. *
  225. * ```js
  226. * PIXI.Loader.shared.add("assets/spritesheet.json").load(setup);
  227. *
  228. * function setup() {
  229. * let sheet = PIXI.Loader.shared.resources["assets/spritesheet.json"].spritesheet;
  230. * animatedSprite = new PIXI.AnimatedSprite(sheet.animations["image_sequence"]);
  231. * ...
  232. * }
  233. * ```
  234. * @memberof PIXI
  235. */
  236. var AnimatedSprite = /** @class */ (function (_super) {
  237. __extends(AnimatedSprite, _super);
  238. /**
  239. * @param textures - An array of {@link PIXI.Texture} or frame
  240. * objects that make up the animation.
  241. * @param {boolean} [autoUpdate=true] - Whether to use PIXI.Ticker.shared to auto update animation time.
  242. */
  243. function AnimatedSprite(textures, autoUpdate) {
  244. if (autoUpdate === void 0) { autoUpdate = true; }
  245. var _this = _super.call(this, textures[0] instanceof core.Texture ? textures[0] : textures[0].texture) || this;
  246. _this._textures = null;
  247. _this._durations = null;
  248. _this._autoUpdate = autoUpdate;
  249. _this._isConnectedToTicker = false;
  250. _this.animationSpeed = 1;
  251. _this.loop = true;
  252. _this.updateAnchor = false;
  253. _this.onComplete = null;
  254. _this.onFrameChange = null;
  255. _this.onLoop = null;
  256. _this._currentTime = 0;
  257. _this._playing = false;
  258. _this._previousFrame = null;
  259. _this.textures = textures;
  260. return _this;
  261. }
  262. /** Stops the AnimatedSprite. */
  263. AnimatedSprite.prototype.stop = function () {
  264. if (!this._playing) {
  265. return;
  266. }
  267. this._playing = false;
  268. if (this._autoUpdate && this._isConnectedToTicker) {
  269. ticker.Ticker.shared.remove(this.update, this);
  270. this._isConnectedToTicker = false;
  271. }
  272. };
  273. /** Plays the AnimatedSprite. */
  274. AnimatedSprite.prototype.play = function () {
  275. if (this._playing) {
  276. return;
  277. }
  278. this._playing = true;
  279. if (this._autoUpdate && !this._isConnectedToTicker) {
  280. ticker.Ticker.shared.add(this.update, this, ticker.UPDATE_PRIORITY.HIGH);
  281. this._isConnectedToTicker = true;
  282. }
  283. };
  284. /**
  285. * Stops the AnimatedSprite and goes to a specific frame.
  286. * @param frameNumber - Frame index to stop at.
  287. */
  288. AnimatedSprite.prototype.gotoAndStop = function (frameNumber) {
  289. this.stop();
  290. var previousFrame = this.currentFrame;
  291. this._currentTime = frameNumber;
  292. if (previousFrame !== this.currentFrame) {
  293. this.updateTexture();
  294. }
  295. };
  296. /**
  297. * Goes to a specific frame and begins playing the AnimatedSprite.
  298. * @param frameNumber - Frame index to start at.
  299. */
  300. AnimatedSprite.prototype.gotoAndPlay = function (frameNumber) {
  301. var previousFrame = this.currentFrame;
  302. this._currentTime = frameNumber;
  303. if (previousFrame !== this.currentFrame) {
  304. this.updateTexture();
  305. }
  306. this.play();
  307. };
  308. /**
  309. * Updates the object transform for rendering.
  310. * @param deltaTime - Time since last tick.
  311. */
  312. AnimatedSprite.prototype.update = function (deltaTime) {
  313. if (!this._playing) {
  314. return;
  315. }
  316. var elapsed = this.animationSpeed * deltaTime;
  317. var previousFrame = this.currentFrame;
  318. if (this._durations !== null) {
  319. var lag = this._currentTime % 1 * this._durations[this.currentFrame];
  320. lag += elapsed / 60 * 1000;
  321. while (lag < 0) {
  322. this._currentTime--;
  323. lag += this._durations[this.currentFrame];
  324. }
  325. var sign = Math.sign(this.animationSpeed * deltaTime);
  326. this._currentTime = Math.floor(this._currentTime);
  327. while (lag >= this._durations[this.currentFrame]) {
  328. lag -= this._durations[this.currentFrame] * sign;
  329. this._currentTime += sign;
  330. }
  331. this._currentTime += lag / this._durations[this.currentFrame];
  332. }
  333. else {
  334. this._currentTime += elapsed;
  335. }
  336. if (this._currentTime < 0 && !this.loop) {
  337. this.gotoAndStop(0);
  338. if (this.onComplete) {
  339. this.onComplete();
  340. }
  341. }
  342. else if (this._currentTime >= this._textures.length && !this.loop) {
  343. this.gotoAndStop(this._textures.length - 1);
  344. if (this.onComplete) {
  345. this.onComplete();
  346. }
  347. }
  348. else if (previousFrame !== this.currentFrame) {
  349. if (this.loop && this.onLoop) {
  350. if (this.animationSpeed > 0 && this.currentFrame < previousFrame) {
  351. this.onLoop();
  352. }
  353. else if (this.animationSpeed < 0 && this.currentFrame > previousFrame) {
  354. this.onLoop();
  355. }
  356. }
  357. this.updateTexture();
  358. }
  359. };
  360. /** Updates the displayed texture to match the current frame index. */
  361. AnimatedSprite.prototype.updateTexture = function () {
  362. var currentFrame = this.currentFrame;
  363. if (this._previousFrame === currentFrame) {
  364. return;
  365. }
  366. this._previousFrame = currentFrame;
  367. this._texture = this._textures[currentFrame];
  368. this._textureID = -1;
  369. this._textureTrimmedID = -1;
  370. this._cachedTint = 0xFFFFFF;
  371. this.uvs = this._texture._uvs.uvsFloat32;
  372. if (this.updateAnchor) {
  373. this._anchor.copyFrom(this._texture.defaultAnchor);
  374. }
  375. if (this.onFrameChange) {
  376. this.onFrameChange(this.currentFrame);
  377. }
  378. };
  379. /**
  380. * Stops the AnimatedSprite and destroys it.
  381. * @param {object|boolean} [options] - Options parameter. A boolean will act as if all options
  382. * have been set to that value.
  383. * @param {boolean} [options.children=false] - If set to true, all the children will have their destroy
  384. * method called as well. 'options' will be passed on to those calls.
  385. * @param {boolean} [options.texture=false] - Should it destroy the current texture of the sprite as well.
  386. * @param {boolean} [options.baseTexture=false] - Should it destroy the base texture of the sprite as well.
  387. */
  388. AnimatedSprite.prototype.destroy = function (options) {
  389. this.stop();
  390. _super.prototype.destroy.call(this, options);
  391. this.onComplete = null;
  392. this.onFrameChange = null;
  393. this.onLoop = null;
  394. };
  395. /**
  396. * A short hand way of creating an AnimatedSprite from an array of frame ids.
  397. * @param frames - The array of frames ids the AnimatedSprite will use as its texture frames.
  398. * @returns - The new animated sprite with the specified frames.
  399. */
  400. AnimatedSprite.fromFrames = function (frames) {
  401. var textures = [];
  402. for (var i = 0; i < frames.length; ++i) {
  403. textures.push(core.Texture.from(frames[i]));
  404. }
  405. return new AnimatedSprite(textures);
  406. };
  407. /**
  408. * A short hand way of creating an AnimatedSprite from an array of image ids.
  409. * @param images - The array of image urls the AnimatedSprite will use as its texture frames.
  410. * @returns The new animate sprite with the specified images as frames.
  411. */
  412. AnimatedSprite.fromImages = function (images) {
  413. var textures = [];
  414. for (var i = 0; i < images.length; ++i) {
  415. textures.push(core.Texture.from(images[i]));
  416. }
  417. return new AnimatedSprite(textures);
  418. };
  419. Object.defineProperty(AnimatedSprite.prototype, "totalFrames", {
  420. /**
  421. * The total number of frames in the AnimatedSprite. This is the same as number of textures
  422. * assigned to the AnimatedSprite.
  423. * @readonly
  424. * @default 0
  425. */
  426. get: function () {
  427. return this._textures.length;
  428. },
  429. enumerable: false,
  430. configurable: true
  431. });
  432. Object.defineProperty(AnimatedSprite.prototype, "textures", {
  433. /** The array of textures used for this AnimatedSprite. */
  434. get: function () {
  435. return this._textures;
  436. },
  437. set: function (value) {
  438. if (value[0] instanceof core.Texture) {
  439. this._textures = value;
  440. this._durations = null;
  441. }
  442. else {
  443. this._textures = [];
  444. this._durations = [];
  445. for (var i = 0; i < value.length; i++) {
  446. this._textures.push(value[i].texture);
  447. this._durations.push(value[i].time);
  448. }
  449. }
  450. this._previousFrame = null;
  451. this.gotoAndStop(0);
  452. this.updateTexture();
  453. },
  454. enumerable: false,
  455. configurable: true
  456. });
  457. Object.defineProperty(AnimatedSprite.prototype, "currentFrame", {
  458. /**
  459. * The AnimatedSprites current frame index.
  460. * @readonly
  461. */
  462. get: function () {
  463. var currentFrame = Math.floor(this._currentTime) % this._textures.length;
  464. if (currentFrame < 0) {
  465. currentFrame += this._textures.length;
  466. }
  467. return currentFrame;
  468. },
  469. enumerable: false,
  470. configurable: true
  471. });
  472. Object.defineProperty(AnimatedSprite.prototype, "playing", {
  473. /**
  474. * Indicates if the AnimatedSprite is currently playing.
  475. * @readonly
  476. */
  477. get: function () {
  478. return this._playing;
  479. },
  480. enumerable: false,
  481. configurable: true
  482. });
  483. Object.defineProperty(AnimatedSprite.prototype, "autoUpdate", {
  484. /** Whether to use PIXI.Ticker.shared to auto update animation time. */
  485. get: function () {
  486. return this._autoUpdate;
  487. },
  488. set: function (value) {
  489. if (value !== this._autoUpdate) {
  490. this._autoUpdate = value;
  491. if (!this._autoUpdate && this._isConnectedToTicker) {
  492. ticker.Ticker.shared.remove(this.update, this);
  493. this._isConnectedToTicker = false;
  494. }
  495. else if (this._autoUpdate && !this._isConnectedToTicker && this._playing) {
  496. ticker.Ticker.shared.add(this.update, this);
  497. this._isConnectedToTicker = true;
  498. }
  499. }
  500. },
  501. enumerable: false,
  502. configurable: true
  503. });
  504. return AnimatedSprite;
  505. }(sprite.Sprite));
  506. exports.AnimatedSprite = AnimatedSprite;
  507. Object.defineProperty(exports, '__esModule', { value: true });
  508. return exports;
  509. })({}, PIXI, PIXI, PIXI);
  510. Object.assign(this.PIXI, _pixi_sprite_animated);
  511. //# sourceMappingURL=sprite-animated.js.map