Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.56 KB | None | 0 0
  1. var doc = app.activeDocument; //references current document
  2. doc.activeLayer = doc.layers[0]; //selects the top layer
  3.  
  4. doc.activeLayer.visible = false;
  5.  
  6. var doc = app.activeDocument;
  7. var currentLayer = doc.activeLayer;
  8.  
  9.  
  10. for(i=0; i < doc.layers.length; )
  11. {
  12. if(doc.layers[i]==currentLayer)
  13. {
  14. a=i;
  15. //alert(a);
  16. i = doc.layers.length;
  17. }
  18. else{ i++; }
  19. }
  20.  
  21.  
  22. try
  23. {
  24. var nextLayer = doc.layers[a+1];
  25. var check = nextLayer.visible;
  26. }
  27. catch(e)
  28. {
  29. var nextLayer = doc.layers[0];
  30. var check = nextLayer.visible;
  31. }
  32.  
  33. doc.activeLayer = nextLayer;
  34. if (check == false)
  35. doc.activeLayer.visible = false;
  36.  
  37. var doc = app.activeDocument;
  38. var currentLayer = doc.activeLayer;
  39. //===========
  40. var gropp = doc.layerSets.length;
  41. var docl = doc.layers.length;
  42. var sublayer = 0;
  43. //alert(gropp)
  44. for (i=0; i < gropp;)
  45. {
  46. sublayer = sublayer + doc.layerSets[i].layers.length;
  47. i++;
  48. }
  49. //==============
  50. var a = -1
  51. var kk = -1
  52. var aa = -1
  53. //если активный слой - элемент высшего порядка:
  54. for(i=0; i<docl;)
  55. {
  56. if(doc.layers[i]==currentLayer)
  57. {
  58. a=i;
  59. i = docl;
  60. }
  61. else{ i++;}
  62. }
  63. //если активный слой - элемент группы:
  64. if (a<0)
  65. {
  66. for (i=0; i<gropp;)
  67. {
  68. var subdocl = doc.layerSets[i].layers.length;
  69. for (k=0; k<subdocl;)
  70. {
  71. if(doc.layerSets[i].layers[k]==currentLayer)
  72. {
  73. aa = i;
  74. kk = k;
  75. k = doc.layerSets[i].layers.length;
  76. i = gropp-1;
  77. }
  78. else { k++; }
  79. }
  80. i++;
  81. }
  82. }
  83. //ACTIVATING
  84. //если активный слой - слой высшего порядка:
  85. if (kk<0)
  86. {
  87. //если активный слой - группа (т.е. нижележ. слой - внутри её):
  88. for (i=0; i<gropp;)
  89. {
  90. if (doc.layerSets[i] == currentLayer)
  91. {
  92. var nLayer = doc.layerSets[i].layers[0];
  93. var check = nLayer.visible;
  94. doc.activeLayer = nLayer;
  95. var isGroup = true;
  96. var isActived = true;
  97. if (check == false)
  98. doc.activeLayer.visible = false;
  99. i = gropp;
  100. }
  101. else {i++;}
  102. }
  103. //если активный слой - простой слой (будет обрабатываться в try-catch):
  104. if (isGroup != true)
  105. {
  106. for (i=0; i<docl;)
  107. {
  108. if (doc.layers[i]==currentLayer)
  109. {
  110. numm = i;
  111. i=docl;
  112. }
  113. else {i++;}
  114. }
  115. }
  116. }
  117. else
  118. //(если активный слой - подобъект (элемент группы), т.е. известны (неотриц.) aa и kk:
  119. {
  120. //если элемент группы - последний в ней (будет обрабатываться в try-catch):
  121. if (kk == subdocl-1)
  122. {
  123. for (i=0; i<docl;)
  124. {
  125. if (doc.layers[i] == doc.layerSets[aa])
  126. {
  127. numm = i;
  128. i = docl;
  129. }
  130. else {i++;}
  131. }
  132. }
  133. //если не последний в группе, то проще:
  134. else
  135. {
  136. var nLayer = doc.layerSets[aa].layers[kk+1];
  137. var check = nLayer.visible;
  138. doc.activeLayer = nLayer;
  139. var isActived = true;
  140. if (check == false)
  141. doc.activeLayer.visible = false;
  142. }
  143. }
  144.  
  145. //try-catch секция для последних вариантов (самых нижних слоёв):
  146. try
  147. {
  148. //alert ("isActived is " + isActived)
  149. if (isActived != true)
  150. {
  151. var nLayer = doc.layers[numm+1];
  152. var check = nLayer.visible;
  153. doc.activeLayer = nLayer;
  154. if (check == false)
  155. doc.activeLayer.visible = false;
  156. }
  157. }
  158. catch(e)
  159. {
  160. var nLayer = doc.layers[0];
  161. var check = nLayer.visible;
  162. doc.activeLayer = nLayer;
  163. if (check == false)
  164. doc.activeLayer.visible = false;
  165. }
  166.  
  167. var doc = app.activeDocument;
  168. var currentLayer = doc.activeLayer;
  169.  
  170. var gropp = doc.layerSets.length;
  171. var docl = doc.layers.length;
  172.  
  173. var a = -1
  174. var kk = -1
  175. var aa = -1
  176.  
  177. //если активный слой - элемент высшего порядка:
  178. for(i=0; i<docl;)
  179. {
  180. if(doc.layers[i]==currentLayer)
  181. {
  182. a=i;
  183. i = docl;
  184. }
  185. else{ i++;}
  186. }
  187.  
  188. //если активный слой - элемент группы:
  189. if (a<0)
  190. {
  191. for (i=0; i<gropp;)
  192. {
  193. var subdocl = doc.layerSets[i].layers.length;
  194. for (k=0; k<subdocl;)
  195. {
  196. if(doc.layerSets[i].layers[k]==currentLayer)
  197. {
  198. aa = i;
  199. kk = k;
  200. k = doc.layerSets[i].layers.length;
  201. //модернизируем скрипт: вносим сразу в этот цикл обработку активизации.
  202. //если элемент группы - первый в ней (активизируем саму группу - гипероним):
  203. if (kk==0)
  204. {
  205. var pLayer = doc.layerSets[i];
  206. var check = pLayer.visible;
  207. doc.activeLayer = pLayer;
  208. //var isGroup = true;
  209. var isActived = true;
  210. if (check == false)
  211. doc.activeLayer.visible = false;
  212. }
  213. //если не первый, то просто слой вверх:
  214. else
  215. {
  216. var pLayer = doc.layerSets[i].layers[kk-1];
  217. var check = pLayer.visible;
  218. doc.activeLayer = pLayer;
  219. var isActived = true;
  220. if (check == false)
  221. doc.activeLayer.visible = false;
  222. }
  223. i = gropp-1;
  224. }
  225. else { k++; }
  226. }
  227. i++;
  228. }
  229. }
  230. //если активный слой - высший элемент; нам известно (неотриц) a:
  231. else
  232. {
  233. if (a==0)
  234. a=docl;
  235. for (i=0; i<gropp;)
  236. {
  237. //если предыдущий слой - последний элемент находящейся выше группы:
  238. if (doc.layerSets[i] == doc.layers[a-1])
  239. {
  240. var subdocl = doc.layerSets[i].layers.length;
  241. var pLayer = doc.layerSets[i].layers[subdocl-1];
  242. var check = pLayer.visible;
  243. doc.activeLayer = pLayer;
  244. var isActived = true;
  245. if (check == false)
  246. doc.activeLayer.visible = false;
  247. i = gropp;
  248. }
  249. else {i++;}
  250. }
  251. if (isActived != true)
  252. {
  253. var pLayer = doc.layers[a-1];
  254. var check = pLayer.visible;
  255. doc.activeLayer = pLayer;
  256. if (check == false)
  257. doc.activeLayer.visible = false;
  258. }
  259. }
  260.  
  261. var currentLayer = activeDocument.activeLayer;
  262. currentLayer.visible = !currentLayer.visible
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement