将白鹭Texture Merger合并的帧动画拆分成多张小图
代码在:https://download.csdn.net/download/wulong710/11463588
MainAnim.ts
//
//
// Copyright (c) 2014-present, Egret Technology.
// All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// * Neither the name of the Egret nor the
// names of its contributors may be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY EGRET AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
// IN NO EVENT SHALL EGRET AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA,
// OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//
class MainAnim extends egret.DisplayObjectContainer {
public constructor() {
super();
this.addEventListener(egret.Event.ADDED_TO_STAGE, this.addStage, this);
}
public addStage(event: egret.Event): void {
egret.lifecycle.addLifecycleListener((context: egret.lifecycle.LifecycleContext) => {
context.onUpdate = this.onUpdate.bind(this);
});
egret.lifecycle.onPause = (): void => {
egret.ticker.pause();
}
egret.lifecycle.onResume = (): void => {
egret.ticker.resume();
}
RES.addEventListener(RES.ResourceEvent.CONFIG_COMPLETE, this.configComplete, this);
RES.loadConfig("resource/default.res.json", "resource/");
}
public configComplete(event: RES.ResourceEvent): void {
RES.removeEventListener(RES.ResourceEvent.CONFIG_COMPLETE, this.configComplete, this);
this.parseAnims();
}
public getWidth(): number {
return egret.MainContext.instance.stage.stageWidth;
}
public getHeight(): number {
return egret.MainContext.instance.stage.stageHeight;
}
private SD_JSONS = [
];
private lastTime: number = 0;
private pastTime: number = 0;
private animIndex: number = 0;
private allAnim: string[] = [];
private preLoadAllRes: string[] = [];
private realLoadAllRes: string[] = [];
private allActions: string[] = null;
private mc: DefaultMovieClip;
private sprite: egret.Sprite = null;
private bg: egret.Shape;
private factory: egret.MovieClipDataFactory;
private rect: egret.Rectangle = null;
private fishImageNames: string[] = [];
private currentAnimPrefix: string = null;
private currentAction = "";
public parseAnims() {
this.rect = new egret.Rectangle();
this.bg = new egret.Shape();
this.addChild(this.bg);
this.bg.x = 0;
this.bg.y = 0;
this.bg.graphics.beginFill(0x000000, 0);
this.bg.graphics.drawRect(0, 0, this.getWidth(), this.getHeight());
this.bg.graphics.endFill()