home *** CD-ROM | disk | FTP | other *** search
/ com!online 2002 July / com!online0702.iso / software / livemotion / DATA1.CAB / Scripting_Resources / Samples / Automation_Scripts / buttonStyle.js < prev    next >
Encoding:
Text File  |  2002-05-13  |  5.6 KB  |  166 lines

  1. /***************************************************************
  2. ADOBE SYSTEMS INCORPORATED 
  3. Copyright 2001 Adobe Systems Incorporated 
  4. All Rights Reserved 
  5.  
  6. NOTICE:  Adobe permits you to use, modify, and distribute this 
  7. file in accordance with the terms of the Adobe license agreement 
  8. accompanying it.  If you have received this file from a source 
  9. other than Adobe, then your use, modification, or distribution
  10. of it requires the prior written permission of Adobe. 
  11. ***************************************************************/
  12. /***************************************************************
  13. Author: Mary Obelnicki
  14. ***************************************************************/
  15.  
  16. /***************************************************************
  17. This script applies a button style to a simple object (not a group) 
  18. with one layer.  The button is created using the color of the object's 
  19. first layer as the base color for the button.
  20.  
  21. To use this script, select a simple object with one layer, and
  22. run the script. 
  23.  
  24. ***************************************************************/
  25. #include "../../Include/colorConversion.js"
  26.  
  27. /***************************************************************
  28. To change the behavior of this script, 
  29. make your changes below
  30. ***************************************************************/
  31.  
  32. makeButton( application.currentComposition.selection[0]);
  33.  
  34. /***************************************************************
  35. DO NOT EDIT BELOW THIS LINE
  36. ***************************************************************/
  37.  
  38. function makeButton(baseObject)
  39. /*
  40. takes a simple object with one layer and uses it as a based for a 
  41. button made of four objects.  The resulting button will have two 
  42. states, normal and down. 
  43.  
  44. baseObject: the object to be turned into a button. should have one layer
  45. with no effects applied
  46.  */
  47. {
  48.     var comp = application.currentComposition; 
  49.  
  50.     //create object
  51.     //    var button = application.currentComposition.createObject(LMObjectType.geometric); 
  52.     
  53.     //create layers of button with other objects
  54.     
  55.     var i; 
  56.     var buttonArray = new Array();
  57.     buttonArray[0] = baseObject; 
  58.     for(i = 1; i < 4; i++) 
  59.     {
  60.     buttonArray[i] = baseObject.duplicate(); 
  61.     }
  62.  
  63.     var button = comp.group(buttonArray);
  64.  
  65.     //layer 0
  66.     button.objects[0].size.x -= 6; 
  67.     button.objects[0].size.y -= 6; 
  68.     button.objects[0].layers[0].colorGradient.type = LMGradientType.linear; 
  69.     button.objects[0].layers[0].colorGradient.startPos = 15; 
  70.     button.objects[0].layers[0].colorGradient.angle = 90; 
  71.     button.objects[0].layers[0].colorGradient.endColor.red = 0; 
  72.     button.objects[0].layers[0].colorGradient.endColor.green = 0; 
  73.     button.objects[0].layers[0].colorGradient.endColor.blue = 0; 
  74.     
  75.     button.objects[0].layers[0].effect.type = LMEffectType.emboss; 
  76.     button.objects[0].layers[0].effect.depth = 1; 
  77.     button.objects[0].layers[0].effect.softness = 1; 
  78.  
  79.    //layer 1
  80.     button.objects[1].size.x -= 4; 
  81.     button.objects[1].size.y -= 4; 
  82.  
  83.     button.objects[1].layers[0].colorGradient.startColor.red = 0; 
  84.     button.objects[1].layers[0].colorGradient.startColor.green = 0; 
  85.     button.objects[1].layers[0].colorGradient.startColor.blue = 0; 
  86.     
  87.     
  88.     //layer 2
  89.     button.objects[2].layers[0].colorGradient.type = LMGradientType.burst; 
  90.     button.objects[2].layers[0].colorGradient.angle = 304;
  91.   
  92.     var baseRGB = button.objects[0].layers[0].colorGradient.startColor;  
  93.     var baseHSB = rgbTohsb(baseRGB);  
  94.  
  95.     var startHSB = new Object(); 
  96.     startHSB.hue = baseHSB.hue; 
  97.     startHSB.saturation = baseHSB.saturation *.2; 
  98.     startHSB.brightness = baseHSB.brightness; 
  99.     var startRGB = hsbTorgb(startHSB); 
  100.  
  101.     button.objects[2].layers[0].colorGradient.startColor.red = startRGB.red; 
  102.     button.objects[2].layers[0].colorGradient.startColor.green = startRGB.green; 
  103.     button.objects[2].layers[0].colorGradient.startColor.blue = startRGB.blue; 
  104.     
  105.  
  106.     var endHSB = new Object(); 
  107.     endHSB.hue = baseHSB.hue; 
  108.     endHSB.saturation = baseHSB.saturation;
  109.     endHSB.brightness = baseHSB.brightness *.8; 
  110.     var endRGB = hsbTorgb(endHSB); 
  111.  
  112.     button.objects[2].layers[0].colorGradient.endColor.red = endRGB.red; 
  113.     button.objects[2].layers[0].colorGradient.endColor.green = endRGB.green; 
  114.     button.objects[2].layers[0].colorGradient.endColor.blue = endRGB.blue; 
  115.  
  116.     //layer 4
  117.     button.objects[3].size.x += 2; 
  118.     button.objects[3].size.y += 2; 
  119.     button.objects[3].layers[0].colorGradient.startColor.red = 0; 
  120.     button.objects[3].layers[0].colorGradient.startColor.green = 0; 
  121.     button.objects[3].layers[0].colorGradient.startColor.blue = 0; 
  122.  
  123.  
  124.     //create states
  125.     button.movieClip = true; 
  126.     
  127.     //change layers in each state
  128.  
  129.     button.addState("over"); 
  130.     button.currentState = "over";
  131.     
  132.     //layer 0
  133.     button.objects[0].layers[0].colorGradient.angle = 270; 
  134.     button.objects[0].layers[0].effect.depth = 3; 
  135.     button.objects[0].layers[0].effect.softness = 1; 
  136.     button.objects[0].layers[0].effect.lightingStyle = LMLightingStyleType.darkOnly; 
  137.  
  138.     //layer 1
  139.  
  140.     var backHSB = new Object(); 
  141.     backHSB.hue = baseHSB.hue; 
  142.     backHSB.saturation = baseHSB.saturation *.40;
  143.     backHSB.brightness = baseHSB.brightness; 
  144.     var backRGB = hsbTorgb(backHSB); 
  145.  
  146.     button.objects[1].layers[0].colorGradient.startColor.red = backRGB.red; 
  147.     button.objects[1].layers[0].colorGradient.startColor.green = backRGB.green; 
  148.     button.objects[1].layers[0].colorGradient.startColor.blue = backRGB.blue; 
  149.  
  150.     button.currentState = "normal"; 
  151. }
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.