Create unique and hierarchy-oriented layer names using Photoshop Scripting

So, here we have two similar layer lists.
layer-sets

At left one is how I naturally organize my PSD files in photoshop. And at right how I like to have them to import them to flash as movie clips, using flash psd importer. Manually organize layers like those in the right is boring even for the most motivated intern. So, we have this photoshop script to rename everything generating unique and comprehensible movie clip names for a programmer-friendly flash library.

  1. function process_layer(layer,parent_name){
  2.   var layer_name=layer.name;
  3.   //first letter uppercase, other lowercase
  4.   layer_name=layer_name.substr(0,1).toUpperCase()+layer_name.substr(1).toLowerCase();
  5.   //remove empty spaces, hyphens
  6.   layer_name=layer_name.split(‘ ‘).join().split(‘-’).join();
  7.   var full_name=parent_name+layer_name;
  8.  
  9.   switch(layer.typename){
  10.      
  11.     case ‘LayerSet’:
  12.       layer.name=full_name;
  13.       var children=layer.layers;
  14.       for(var k=0; k<children.length; k++){
  15.         var child=children[k];
  16.         process_layer(child,full_name);
  17.       }
  18.       break;
  19.      
  20.     case ‘ArtLayer’:
  21.       if(layer.kind==LayerKind.TEXT){
  22.         layer.name=layer_name.toLowerCase();
  23.       }else{
  24.         layer.name=full_name;
  25.       }
  26.       break;
  27.      
  28.   }
  29. }
  30.  
  31. doc=app.activeDocument
  32. var layers=doc.layers;
  33. var layers_length=layers.length;
  34. for(var j=0; j<layers_length; j++){
  35.   var layer=layers[j];
  36.   process_layer(layer,);
  37. }

Download the photoshop script

To run this script open a psd file and click File > Scripts > Browse

This entry was posted in flash psd importer, photoshop scripting and tagged , , , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

One Trackback

  1. [...] As you have just seen, movieclips can be art layers or layer sets. When it’s just s DisplayObject, we use an art layer (normal layer, solid fill, text field, etc), but when it is a DisplayObjectContainer, we use a layer set to puts its children inside. It’s simple like that, and this is where we were to reach by this post. After organizing, try this script. [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>