123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- (function() {
- var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
- var __module = nodeEnv ? module : {exports:{}};
- var __filename = 'preview-scripts/assets/script/frameWork/compment/SpriteAtlasAnim.js';
- var __require = nodeEnv ? function (request) {
- return cc.require(request);
- } : function (request) {
- return __quick_compile_project__.require(request, __filename);
- };
- function __define (exports, require, module) {
- if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
- cc._RF.push(module, 'edf5956GoRKsaa/AvErwY37', 'SpriteAtlasAnim');
- // script/frameWork/compment/SpriteAtlasAnim.ts
- "use strict";
- var __extends = (this && this.__extends) || (function () {
- var extendStatics = function (d, b) {
- extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
- return extendStatics(d, b);
- };
- return function (d, b) {
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- })();
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- 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;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.SpriteAtlasAnim = void 0;
- var ResSpriteAtlas_1 = require("./ResSpriteAtlas");
- var UEBase_1 = require("./UEBase");
- var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
- var SpriteAtlasAnim = /** @class */ (function (_super) {
- __extends(SpriteAtlasAnim, _super);
- function SpriteAtlasAnim() {
- return _super !== null && _super.apply(this, arguments) || this;
- }
- /**
- * @param url 动画 SpriteAtlas Url
- * @param animCfg 动画配置
- */
- SpriteAtlasAnim.prototype.LoadAnimAsync = function (bundleKey, url, animCfg, defaultAnim) {
- var _this = this;
- var that = this;
- that._animCfg = animCfg;
- that._anim = that.node.getComponent(cc.Animation);
- if (!this._anim) {
- this.node.addComponent(cc.Animation);
- }
- that._resSpriteAtlas = that.node.getComponent(ResSpriteAtlas_1.default);
- if (!that._resSpriteAtlas) {
- that.node.addComponent(ResSpriteAtlas_1.default);
- }
- return new Promise(function (resolve) {
- that._resSpriteAtlas.LoadSpriteAtlas(bundleKey, url, function (atlas) {
- if (atlas) {
- that.RemoveAllClips();
- var sp_1;
- var _loop_1 = function (clipName) {
- var animSpriteFrames = [];
- that._animCfg[clipName].frames.forEach(function (frameKey) {
- sp_1 = atlas.getSpriteFrame(frameKey);
- if (sp_1) {
- animSpriteFrames.push(sp_1);
- }
- else {
- console.error("\u56FE\u96C6(" + url + ")\u4E2D\u4E0D\u5B58\u5728\u52A8\u753B\u5E27: " + frameKey);
- }
- });
- that.AddClip(clipName, animSpriteFrames, that._animCfg[clipName].wrapMode, that._animCfg[clipName].sample);
- };
- for (var clipName in that._animCfg) {
- _loop_1(clipName);
- }
- if (defaultAnim)
- _this.PlayAnim(defaultAnim);
- resolve(true);
- }
- else {
- resolve(false);
- }
- });
- });
- };
- /**
- *
- * @param clipName
- * @param animSpriteFrames
- * @param sample 动画帧率,单位为帧/秒
- * @param wrapMode
- */
- SpriteAtlasAnim.prototype.AddClip = function (clipName, animSpriteFrames, wrapMode, sample) {
- // 创建一个动画
- var clip = cc.AnimationClip.createWithSpriteFrames(animSpriteFrames, sample);
- clip.name = clipName;
- clip.wrapMode = wrapMode;
- this._anim.addClip(clip);
- };
- SpriteAtlasAnim.prototype.RemoveAllClips = function () {
- if (!this._anim || !this._anim.isValid)
- return;
- var clips = this._anim.getClips();
- for (var i = clips.length - 1; i >= 0; --i) {
- this._anim.removeClip(clips[i]);
- }
- };
- /**
- * 播放动画
- * @param clipName
- */
- SpriteAtlasAnim.prototype.PlayAnim = function (clipName) {
- this._anim.play(clipName);
- };
- SpriteAtlasAnim.prototype.StopAllAnim = function () {
- this._anim.stop();
- };
- /**
- * 监听动画完成
- * @param complete
- */
- SpriteAtlasAnim.prototype.OnAnimComplete = function (complete) {
- this._anim.on(cc.Animation.EventType.FINISHED, function (type, state) {
- complete && complete(type);
- }, this);
- };
- SpriteAtlasAnim = __decorate([
- ccclass
- ], SpriteAtlasAnim);
- return SpriteAtlasAnim;
- }(UEBase_1.default));
- exports.SpriteAtlasAnim = SpriteAtlasAnim;
- cc._RF.pop();
- }
- if (nodeEnv) {
- __define(__module.exports, __require, __module);
- }
- else {
- __quick_compile_project__.registerModuleFunc(__filename, function () {
- __define(__module.exports, __require, __module);
- });
- }
- })();
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZnJhbWVXb3JrL2NvbXBtZW50L1Nwcml0ZUF0bGFzQW5pbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQThDO0FBQzlDLG1DQUE4QjtBQUV4QixJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQWtCNUM7SUFBcUMsbUNBQU07SUFBM0M7O0lBMEZBLENBQUM7SUFyRkc7OztPQUdHO0lBQ08sdUNBQWEsR0FBdkIsVUFBd0IsU0FBaUIsRUFBRSxHQUFXLEVBQUUsT0FBK0IsRUFBRSxXQUFtQjtRQUE1RyxpQkFtQ0M7UUFsQ0csSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyx3QkFBYyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsd0JBQWMsQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU87WUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxVQUFDLEtBQXFCO2dCQUN2RSxJQUFJLEtBQUssRUFBRTtvQkFD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QixPQUFPO09BQ0ssZUFBZSxDQTBGM0I7SUFBRCxzQkFBQztDQTFGRCxBQTBGQyxDQTFGb0MsZ0JBQU0sR0EwRjFDO0FBMUZZLDBDQUFlIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlc1Nwcml0ZUF0bGFzIGZyb20gXCIuL1Jlc1Nwcml0ZUF0bGFzXCI7XG5pbXBvcnQgVUVCYXNlIGZyb20gXCIuL1VFQmFzZVwiO1xuXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xuXG5leHBvcnQgaW50ZXJmYWNlIElBbmltYXRpb25JbmZvIHtcbiAgICBidW5kbGU6IHN0cmluZyxcbiAgICBhdGxhc1VybDogc3RyaW5nLFxuICAgIGFuaW06IHtcbiAgICAgICAgcnVuOiB7IG5hbWU6IHN0cmluZywgZnJhbWVzOiBzdHJpbmdbXSwgd3JhcE1vZGU6IGNjLldyYXBNb2RlLCBzYW1wbGU6IG51bWJlciB9XG4gICAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBQYXJhbXNfU3ByaXRlQXRsYXNBbmltIHtcbiAgICBbYW5pbTogc3RyaW5nXToge1xuICAgICAgICBmcmFtZXM6IHN0cmluZ1tdLFxuICAgICAgICB3cmFwTW9kZTogY2MuV3JhcE1vZGUsXG4gICAgICAgIHNhbXBsZTogbnVtYmVyLCAvLyDliqjnlLvluKfnjofvvIzljZXkvY3kuLrluKcv56eSXG4gICAgfVxufVxuXG5AY2NjbGFzc1xuZXhwb3J0IGNsYXNzIFNwcml0ZUF0bGFzQW5pbSBleHRlbmRzIFVFQmFzZSB7XG4gICAgcHJpdmF0ZSBfYW5pbTogY2MuQW5pbWF0aW9uO1xuICAgIHByaXZhdGUgX3Jlc1Nwcml0ZUF0bGFzOiBSZXNTcHJpdGVBdGxhcztcbiAgICBwcml2YXRlIF9hbmltQ2ZnOiBQYXJhbXNfU3ByaXRlQXRsYXNBbmltO1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHVybCDliqjnlLsgU3ByaXRlQXRsYXMgVXJsXG4gICAgICogQHBhcmFtIGFuaW1DZmcg5Yqo55S76YWN572uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIExvYWRBbmltQXN5bmMoYnVuZGxlS2V5OiBzdHJpbmcsIHVybDogc3RyaW5nLCBhbmltQ2ZnOiBQYXJhbXNfU3ByaXRlQXRsYXNBbmltLCBkZWZhdWx0QW5pbTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICB0aGF0Ll9hbmltQ2ZnID0gYW5pbUNmZztcbiAgICAgICAgdGhhdC5fYW5pbSA9IHRoYXQubm9kZS5nZXRDb21wb25lbnQoY2MuQW5pbWF0aW9uKTtcbiAgICAgICAgaWYgKCF0aGlzLl9hbmltKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGUuYWRkQ29tcG9uZW50KGNjLkFuaW1hdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgdGhhdC5fcmVzU3ByaXRlQXRsYXMgPSB0aGF0Lm5vZGUuZ2V0Q29tcG9uZW50KFJlc1Nwcml0ZUF0bGFzKTtcbiAgICAgICAgaWYgKCF0aGF0Ll9yZXNTcHJpdGVBdGxhcykge1xuICAgICAgICAgICAgdGhhdC5ub2RlLmFkZENvbXBvbmVudChSZXNTcHJpdGVBdGxhcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICB0aGF0Ll9yZXNTcHJpdGVBdGxhcy5Mb2FkU3ByaXRlQXRsYXMoYnVuZGxlS2V5LCB1cmwsIChhdGxhczogY2MuU3ByaXRlQXRsYXMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYXRsYXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5SZW1vdmVBbGxDbGlwcygpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgc3A6IGNjLlNwcml0ZUZyYW1lO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBjbGlwTmFtZSBpbiB0aGF0Ll9hbmltQ2ZnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYW5pbVNwcml0ZUZyYW1lczogY2MuU3ByaXRlRnJhbWVbXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fYW5pbUNmZ1tjbGlwTmFtZV0uZnJhbWVzLmZvckVhY2goZnJhbWVLZXkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwID0gYXRsYXMuZ2V0U3ByaXRlRnJhbWUoZnJhbWVLZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmltU3ByaXRlRnJhbWVzLnB1c2goc3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYOWbvumbhigke3VybH0p5Lit5LiN5a2Y5Zyo5Yqo55S75binOiAke2ZyYW1lS2V5fWApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5BZGRDbGlwKGNsaXBOYW1lLCBhbmltU3ByaXRlRnJhbWVzLCB0aGF0Ll9hbmltQ2ZnW2NsaXBOYW1lXS53cmFwTW9kZSwgdGhhdC5fYW5pbUNmZ1tjbGlwTmFtZV0uc2FtcGxlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVmYXVsdEFuaW0pIHRoaXMuUGxheUFuaW0oZGVmYXVsdEFuaW0pO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIEBwYXJhbSBjbGlwTmFtZSBcbiAgICAgKiBAcGFyYW0gYW5pbVNwcml0ZUZyYW1lcyBcbiAgICAgKiBAcGFyYW0gc2FtcGxlIOWKqOeUu+W4p+eOh++8jOWNleS9jeS4uuW4py/np5JcbiAgICAgKiBAcGFyYW0gd3JhcE1vZGUgXG4gICAgICovXG4gICAgcHJpdmF0ZSBBZGRDbGlwKGNsaXBOYW1lOiBzdHJpbmcsIGFuaW1TcHJpdGVGcmFtZXM6IGNjLlNwcml0ZUZyYW1lW10sIHdyYXBNb2RlOiBjYy5XcmFwTW9kZSwgc2FtcGxlOiBudW1iZXIpIHtcbiAgICAgICAgLy8g5Yib5bu65LiA5Liq5Yqo55S7XG4gICAgICAgIGxldCBjbGlwID0gY2MuQW5pbWF0aW9uQ2xpcC5jcmVhdGVXaXRoU3ByaXRlRnJhbWVzKGFuaW1TcHJpdGVGcmFtZXMsIHNhbXBsZSk7XG4gICAgICAgIGNsaXAubmFtZSA9IGNsaXBOYW1lO1xuICAgICAgICBjbGlwLndyYXBNb2RlID0gd3JhcE1vZGU7XG4gICAgICAgIHRoaXMuX2FuaW0uYWRkQ2xpcChjbGlwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIFJlbW92ZUFsbENsaXBzKCkge1xuICAgICAgICBpZiAoIXRoaXMuX2FuaW0gfHwgIXRoaXMuX2FuaW0uaXNWYWxpZCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBjbGlwcyA9IHRoaXMuX2FuaW0uZ2V0Q2xpcHMoKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IGNsaXBzLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICAgICAgICB0aGlzLl9hbmltLnJlbW92ZUNsaXAoY2xpcHNbaV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pKt5pS+5Yqo55S7XG4gICAgICogQHBhcmFtIGNsaXBOYW1lIFxuICAgICAqL1xuICAgIFBsYXlBbmltKGNsaXBOYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fYW5pbS5wbGF5KGNsaXBOYW1lKTtcbiAgICB9XG5cbiAgICBTdG9wQWxsQW5pbSgpIHtcbiAgICAgICAgdGhpcy5fYW5pbS5zdG9wKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog55uR5ZCs5Yqo55S75a6M5oiQXG4gICAgICogQHBhcmFtIGNvbXBsZXRlIFxuICAgICAqL1xuICAgIE9uQW5pbUNvbXBsZXRlKGNvbXBsZXRlOiBGdW5jdGlvbikge1xuICAgICAgICB0aGlzLl9hbmltLm9uKGNjLkFuaW1hdGlvbi5FdmVudFR5cGUuRklOSVNIRUQsICh0eXBlOiBzdHJpbmcsIHN0YXRlOiBjYy5BbmltYXRpb25TdGF0ZSkgPT4ge1xuICAgICAgICAgICAgY29tcGxldGUgJiYgY29tcGxldGUodHlwZSk7XG4gICAgICAgIH0sIHRoaXMpO1xuICAgIH1cbn1cbiJdfQ==
|