写个工具拆分Texture Merger做的帧动画。
//
//
// 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.
//
//
enum EStatus {
checkRect,
prepareSave,
save,
end
}
class Main 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 = [
"Bomb.json",
"FishingNetGray.json",
"MR_fish.json",
"Medal1_jewel.json",
"Medal2_jewel.json",
"Medal3_jewel.json",
"Mermaid.json",
"Mermaid_die.json",
"Rainbow_coin.json",
"Rainbow_loop.json",
"Rainbow_start.json",
"TreasureBox-coin.json",
"TreasureBox.json",
"TreasureBox_vanish.json",
"aimShootEff.json",
"appearanceOfLight.json",
"autoShootEff.json",