Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/09/2017 in all areas

  1. blurymind

    Spriter 2

    Well, by the timeyouguys release spriter 2, we will have runtimes for dragonbones on everything They are also adding skins soon. The competition is catching up
    1 point
  2. First I'm not much of a programmer. So any feedback is welcome. Special corner cases not tested. Download AnimationSorter Prerequisites Animations must be batch export or all animations must have a prefix Animation names must be in following format prefix + animation + number + file extension So for example you have 3 animations: Attack, Idle, Run. When you export in spriter you are asked for a base file name. When you type "character" as base file name spriter spits out 3 animations like this character_attack_000.png character_attack_001.png character_attack_002.png character_idle_000.png character_idle_001.png character_idle_002.png character_run_000.png character_run_001.png character_run_002.png (Number of files is not important) How it works Export animations in spriter (e.g batch export) when exporting enter a prefix e.g character put the executable script file into the same folder as your animation exports run exe enter the prefix which every animation files have in common e.g character from step 2 enjoy that you don't need to sort animations anymore What the script does: The script searches for all png images in the same folder the script is. Then it extracts the given prefix from each image. character_attack_000.png becomes attack_000.png Then it extracts the extension and number as well so only animation name is left wich is attack. Next it creates a folder with that animation name and afterwards puts each matching image file in that folder. And this for each image. Conclusion I found the script to be a huge time saver. Especially with hundreds of image files (in the gif example 500+ images were sorted under 1s). So I hope it helps you guys out as well. Here the full script: import glob import os import shutil import time class AnimationSorter: """A simple sorter class""" def __init__(self): self.prefix = '' self.folders_count = 0 self.files_count = 0 def set_prefix(self): self.prefix = raw_input('Type in the prefix of the animations.\nPrefix: ') print self.prefix def get_animations(self): path = os.getcwd() + '\\' anims = glob.glob(path + '*.png') return anims def sortanim(self): anims = self.get_animations() if not anims: print('No files found.') return False self.files_count = len(anims) for i, x in enumerate(anims): basedir, filename = os.path.split(x) result = x.replace(str(self.prefix), "", 1) n = result.split("_", 1) result = n[0] result = result.translate(None, '_') dir_name, ext = os.path.splitext(result) if not os.path.exists(dir_name): os.makedirs(dir_name) print 'new directory: ' + dir_name self.folders_count += 1 try: shutil.move(x, dir_name + '\\' + filename) except IOError as (errno, strerror): print "I/O error({0}): {1}".format(errno, strerror) except ValueError: print "Could not convert data to an integer." except: print "Unexpected error:" raise self.files_count += 1 # print 'moving file success' return True if __name__ == "__main__": print '___________ SORT ANIMATION EXPORTS ___________\n\n' sorter = AnimationSorter() sorter.set_prefix() start = time.time() # call your code here if sorter.sortanim(): end = time.time() print 'Done.' \ '\nTotal files: ' + str(sorter.files_count - 1) + \ '\nTotal Folders: ' + str(sorter.folders_count) + \ '\nTime needed: ' + str(end - start) + 's' k = raw_input('\n\nPress any key to close.\n') Download AnimationSorter
    1 point
×
×
  • Create New...