Create angle, reflected, diamond gradient using actionscript

Hi,
As you know, in Graphics class there is beginGradientFill
method to draw
gradient:
beginGradientFill(type:String, colors:Array, alphas:Array,
ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad",
interpolationMethod:String = "rgb", focalPointRatio:Number =
0):void
I saw that the first parameter "type:String" only have two
values: "linear" or "radial". In photoshop, beside theses there are
"angle", "reflected", "diamond" gradient type also.
So which class (or libraries etc) I can use in order to
create "angle", "reflected", "diamond" gradient using fully
actionscript?
Or "angle", "reflected", "diamond" gradient type can not be
implemented using AS?
Could anyone point me to the right direction?
many thanks and best regards

gghfh,
you can get your gradient set to a different angle (not just
horizontal/vertical) by using the matrix argument you mention, eg:
graphics.beginGradientFill("linear", fill_colors,
fill_alphas, fill_ratios,
rotated_matrix (0, 0, actual_w, actual_h, gradient_angle));
where rotated_matrix is a function like
private function rotated_matrix(x:Number, y:Number,
w:Number, h:Number, rot:Number):Matrix
var tempMatrix:Matrix;
tempMatrix = new Matrix();
tempMatrix.createGradientBox(w, h, rot*Math.PI/180, x, y);
return tempMatrix;
I don't know what the "reflected" or "diamond" patterns look
like but maybe this would solve the "angle" one?
Richard

Similar Messages

  • Applying a gradient mask to type to create a reflection

    I working with CS4 Windows and am applying a gradient mask to unrasterized type to create a reflection. I've flipped the type, chose gradient tool, have chosen foreground to background, foreground to transparent, etc. The mask layer keeps acting like a "normal" layer and instead of masking out the part I want masked, it darkens that portion. I've even verified my method with tutorials and come up the same problem. I figure there's something I have either checked or unchecked but I can't figure out what. If I use another tool to mask part of the type it works fine. I'm really baffled.

    You either want a proper layer mask, or to create a clipping mask. You might try posting a screenshot of your layers panel if you're still stumped.
    More about layer masks here:
    http://help.adobe.com/en_US/Photoshop/11.0/WSfd1234e1c4b69f30ea53e41001031ab64-7866a.html
    More about clipping masks here:
    http://help.adobe.com/en_US/Photoshop/11.0/WSfd1234e1c4b69f30ea53e41001031ab64-7853a.html

  • Using applescript how do I set the angle of a gradient

    Using Applescript I need to set the angle of the gradient to 90 degrees. I've tried everything I can see in the scripting guide.
    This is a sample of the script I'm using to set the gradient all I need to know is where and how to set the gradient to horizontal. Please forgive me as I'm a real newbie at this!!!
    tell application "Adobe Illustrator"
        activate
        make new document
        set ellipseRect to {100, 100, 500, 500}
        set ellipseColor to {cyan:0.0, magenta:100.0, yellow:100.0, black:0.0}
        set myellipse to make new ellipse at beginning of current document with properties {bounds:ellipseRect, inscribed:true, reversed:false, stroke color:ellipseColor, fill color:ellipseColor}
        set Doc_Ref to the current document
        tell Doc_Ref
            if not (exists gradient "My Gradient") then
                set This_Gradient to make new gradient at end with properties ¬
                    {name:"My Gradient", gradient type:linear}
                set properties of gradient stop 1 of This_Gradient to ¬
                    {midpoint:50, ramp point:0.0, color:{cyan:0, magenta:50, yellow:100, black:0}}
                set properties of gradient stop 2 of This_Gradient to ¬
                    {midpoint:50, ramp point:100.0, color:{cyan:10, magenta:100, yellow:100, black:0}}
            end if
            if exists path item 1 then
                set fill color of every path item to {gradient:gradient "My Gradient"}
            end if
        end tell
    end tell

    I think I the gradient angle property is broken, try rotating the object setting all the "change" properties to false, except changeFillGradients.
    rotate
    (angle
    [,changePositions]
    [,changeFillPatterns]
    [,changeFillGradients]
    [,changeStrokePattern]
    [,rotateAbout])

  • Using Actionscript to create complete scenes

    Ok let me paint a picture. I'm designing an online flash
    application that will dynamically display tutorials stored in a
    MySQL database. These tutorials will be added via a php control
    panel for tutors to add new tutorials to the database.
    So my flash will load, dynamically create a new scene, add in
    some static elements i.e. logo and some other images and then list
    the tutorials for the user to select.
    The user then selects a tutorial and a new scene is
    dynamically created to display the contents of this scene i.e. a
    scrollPane for the text, video component for the video elements and
    the title etc.
    I recently read this tutorial so getting the data from the
    database into Flash shouldn't be a major problem.
    http://www.webmonkey.com/webmonkey/03/40/index1a.html
    Here's what I think I need
    I'm about to start digging through my flash bible so I'll
    edit this and let you know what I've found out myself,
    1. How to create a new scene using Actionscript,
    2. How to add a few images (jpgs) from the library using
    Actionscript,
    3. how to add a scrollPane (all using actionscript),
    4. how to add some text fields,
    5. how to add a video player to access a video from a folder
    on the server and lastly
    6. some kind of back button..
    Majority of these components will be loading content from PHP
    which will access my MySQL server.
    Any help would be greatly appreciated.
    Thanks
    Steve

    A tall order for a single thread! There are many possible
    answers to each question. Plus there are not enough specifics to
    guide you to the correct alternative. The good news it you can do
    what you are planning.
    1. How to create a new scene using Actionscript,
    Do not be confused with the technical feature of a scene in
    Flash IDE. It is not something you use in Actionscript. However
    from a design view, you can create any page oriented content
    application you want. The usually dynamic element for creating a
    page is a MovieClip or the as you mentioned the component
    ScrollPane which is MovieClip.
    Beyond that there are many many ways to go.
    In general you would create one or more template layouts and
    load the content in selecting the template.
    A shell Flash movie would handle the loading of the templates
    and the data or content that would show.
    As well there could be swf that are custom pages that simply
    load and handle all the needed content separately.
    2. How to add a few images (jpgs) from the library using
    Actionscript,
    MovieClip.attachMovie
    You also can load externally using
    MovieClip.loadMovie
    or if you need to manipulate it after loading then
    MovieClipLoad.onLoadInit
    3. how to add a scrollPane (all using actionscript),
    Explained at
    ScrollPane.contentPath">MovieClipLoad.onLoadInit
    4. how to add some text fields,
    The question implies to create the TextField dynamically and
    a central method is:
    MovieClip.createTextField
    5. how to add a video player to access a video from a folder
    on the server and lastly
    Use the FLVPlayback component that is delivered with Flash 8
    Pro. You need to encode the video as FLV format using the video
    encoder that comes with Flash 8 (also possible with import except
    you elected to make it external) or a third party encoder.
    You put the flv files on the server with the swf containing
    the FLVPlayer and use the
    FLVPlayback.contentPath
    method.
    6. some kind of back button..
    Again many many ways to go: You can use the Flash component
    button or create your own. You can make a button from a MovieClip.
    You can do these dynamically or at design time and in either case
    change their functionality and respond to their interactions at
    runtime.

  • Example of using ActionScript to create Grid, GridRow, and Grid Item?

    Does anyone know where I can find a complete example of using
    ActionScript to create Grid, GridRow, and Grid Item?
    I got an error when trying to add a child to the GridRow.
    Flex 2 said this method (addChild) is not available to
    GridRow.

    This thread should help:
    http://www.actionscript.org/forums/showthread.php3?t=167806
    matt horn
    flex docs

  • DYNAMIC CREATION OF LINE SERIES USING ACTIONSCRIPT

    There's something wierd about flex or im doing something
    wrong?
    - when i create a line series manually using mxml and specify
    a id for the series, it works.
    - similarly when i try to dynamically create a line series
    using actionscript & define an "id" property, flex does not
    understand! what am i doing wrong?
    code for reference:
    private function addSeries(series:Array,
    yField:String,id:String) // addseries(series,"date","1000")
    var ls:LineSeries= new LineSeries();
    var stroke:Stroke = new Stroke()
    ls.yField = yField;
    ls.xField="ts"
    ls.dataProvider=dp
    ls.id=id // tried defining it dynamically, but flex does not
    find
    this.mychart.series.push(ls)
    THIS IS THE ERROR I GET : "TypeError: Error #1010: A term is
    undefined and has no properties."

    I see... I played around with the line chart ...
    Hopefully this helps... if not forgive me...
    I know why you are trying to use the id property which i
    agree doesn't work.
    since the series is an array in your lineChart use the index
    to set the visible property false/true.
    lineChart.series[0].visible = true/false;
    <mx:Lineseries id="a1" visible="true"
    dataProvider="{whatever}" />
    <mx:Lineseries id="a2" visible="false"
    dataProvider="{whatever}"/>
    create a function called init();
    public function init():void
    var lineS1:LineSeries = new LineSeries();
    lineS1.visible = true/false;
    lineChart.series.push(lineS1);
    var lineS2:LineSeries = new LineSeries();
    lineS2.visible = true/false;
    lineChart.series.push(lineS2);
    ... and the key is to call this init function on initialize
    event...NOT on createComplete event
    <mx:LineChart.... initialize="init()" .... />
    and to show both lines... call this function...
    public function showLines():void
    lineChart.series[0].visible = true;
    lineChart.series[1].visible = true;
    Hope this helps....

  • How to load other obejects in flash file after intro using ActionScript 3.0

    How to load other obejects in flash file after intro using ActionScript 3.0 or any other method all in same fla file. see blow intro screen shot ,this one playing repeatedly without loading other fla pages .only way to load other pages is click on Skip intro .see second screeshot below .i need that site to load after intro .
    see codes already in
    stop();
    skipintro_b.addEventListener(MouseEvent.CLICK, skipintro_b_clicked);
    function skipintro_b_clicked(e:MouseEvent):void{
    gotoAndStop("whoweare");
    There is another script there
    /* Simple Timer
    Displays a countdown timer in the Output panel until 30 seconds elapse.
    This code is a good place to start for creating timers for your own purposes.
    Instructions:
    1. To change the number of seconds in the timer, change the value 30 in the first line below to the number of seconds you want.
    var fl_TimerInstance:Timer = new Timer(1000, 30);
    fl_TimerInstance.addEventListener(TimerEvent.TIMER, fl_TimerHandler);
    fl_TimerInstance.start();
    var fl_SecondsElapsed:Number = 1;
    function fl_TimerHandler(event:TimerEvent):void
              trace("Seconds elapsed: " + fl_SecondsElapsed);
              fl_SecondsElapsed++;
    i have no knowledge about these thing ,any help really appreciated .

    Ned Murphy Thank you very Much .It is working .Great advice

  • How can I turn off auto play of an swf/flv using actionscript?

    Does anyone know how to turn off autoplay, using actionscript, of swf/flv?
    I'm trying to showcase four videos on the same page of a website. each video is a generic media player created in flash. when i test the movie, all the videos start playing at once.
    Also, if possible is there a way to have all four videos in the same media player?

    the media player has an autoPlay property.
    and yes, it also has a contentPath property.

  • How to change the angle of a gradient layer without changing anything else?

    How to change the angle of a gradient layer without changing anything else?
    When I try it myself my whole gradient turns black.

    To add to the above, you can not just set the angle. If you want to use other existing settings you need to get them from the layer. The code in that other thread shows one way to get them.
    But if you do not need the existing values for any other reason you can get the descriptor for the layer, make a duplicate of it with all the settings and just overwrite the ones you want to change.
    This is one way to just change the angle while keeping the other existing settings.
    // helper function for working with descriptors
    function getProperty( psClass, psKey, index ){// integer:Class, integer:key
        var ref = new ActionReference();
        if( psKey != undefined ) ref.putProperty( charIDToTypeID( "Prpr" ), psKey );
        if(index != undefined ){
            ref.putIndex( psClass, index );
        }else{
            ref.putEnumerated( psClass , charIDToTypeID( "Ordn" ), charIDToTypeID( "Trgt" ) );
        try{
            var desc = executeActionGet(ref);
        }catch(e){ return; }// return on error
        if(desc.count == 0) return;// return undefined if property doesn't exists
        var dataType = desc.getType(psKey);
        switch(dataType){// not all types supported - returns undefined if not supported
            case DescValueType.INTEGERTYPE:
                return desc.getInteger(psKey);
                break;
            case DescValueType.ALIASTYPE:
                return desc.getPath(psKey);
                break;
            case DescValueType.BOOLEANTYPE:
                return desc.getBoolean(psKey);
                break;
            case DescValueType.BOOLEANTYPE:
                return desc.getBoolean(psKey);
                break;
            case DescValueType.UNITDOUBLE:
                return desc.getUnitDoubleValue(psKey);
                break;
            case DescValueType.STRINGTYPE:
                return desc.getString(psKey);
                break;
            case  DescValueType.OBJECTTYPE:
                return desc.getObjectValue(psKey);
                break;
            case  DescValueType.LISTTYPE:
                return desc.getList(psKey);
                break;
            case  DescValueType.ENUMERATEDTYPE:
                return desc.getEnumerationValue(psKey);
                break;
    function duplicateDescriptor( descriptor ) {
        var newDescriptor = new ActionDescriptor;
        newDescriptor.fromStream( descriptor.toStream() );
        return newDescriptor;
    function localizeDescriptor( desc ) {
        var stream, pointer, zStringLength, zstring, localized_string, newZStringLength, previousStream, followingStream, newDesc;
        stream = desc.toStream();
        while( true ) {
            pointer = stream.search(/TEXT....\x00\$\x00\$\x00\$/);
            if( pointer === -1 ) {
                break;
            zStringLength = getLongFromStream( stream, pointer + 4 );
            zstring = readUnicode( stream.substr( pointer + 8, ( zStringLength - 1 ) * 2) );
            localized_string = ( localize( zstring ) ) + '\u0000';
            newZStringLength = localized_string.length;
            previousStream = stream.slice( 0, pointer);
            followingStream = stream.slice( pointer + 8 + zStringLength * 2);
            stream = previousStream.concat( 'TEXT', longToString( newZStringLength ), bytesToUnicode( localized_string ), followingStream );
        newDesc = new ActionDescriptor();
        newDesc.fromStream( stream );
        return newDesc;
    function getShortFromStream( stream, pointer ) {
        var hi, low;
        hi = stream.charCodeAt( pointer ) << 8 ;
        low = stream.charCodeAt( pointer + 1 );
        return hi + low;
    function getLongFromStream( stream, pointer ) {
        var hi, low;
        hi = getShortFromStream( stream, pointer) << 16;
        low = getShortFromStream( stream, pointer + 2);
        return hi + low;
    function readUnicode( unicode ) {
        var string = "";
        for( i = pointer = 0; pointer < unicode.length; i = pointer += 2) {
            string +=String.fromCharCode( getShortFromStream( unicode, pointer ) );
        return string;
    function longToString( longInteger ) {
        var string;
        string = String.fromCharCode( longInteger >>> 24 );
        string += String.fromCharCode( longInteger << 8 >>> 24 );
        string += String.fromCharCode( longInteger << 16 >>> 24 );
        string += String.fromCharCode( longInteger << 24 >>> 24 );
        return string;
    function bytesToUnicode( bytes ) {
        var unicode = "", char_code, charIndex;
        for( charIndex  = 0; charIndex < bytes.length; charIndex ++ ) {
            char_code = bytes.charCodeAt( charIndex );
            unicode += String.fromCharCode(char_code >> 8 ) +  String.fromCharCode( char_code & 0xff );
        return unicode;
    function setGradientAdjustmentAngle( angle ) {
        var adjustmentDesc = getProperty( charIDToTypeID("Lyr "), charIDToTypeID( 'Adjs' ) ).getObjectValue(0);
        var newAdjustmentDesc = duplicateDescriptor( adjustmentDesc );
        newAdjustmentDesc.putUnitDouble( charIDToTypeID('Angl'), charIDToTypeID('#Ang'), angle );
        var desc = new ActionDescriptor();
            var ref = new ActionReference();
            ref.putEnumerated( stringIDToTypeID('contentLayer'), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );
        desc.putReference( charIDToTypeID('null'), ref );
        desc.putObject( charIDToTypeID('T   '), stringIDToTypeID('gradientLayer'), newAdjustmentDesc);
        executeAction( charIDToTypeID('setd'), desc, DialogModes.NO );
    var newAngle = 45;
    setGradientAdjustmentAngle( newAngle );

  • How to get/set value in illustrator preference file using ActionScript 3.0

    Hi all,
    I want to get/set the flex panel components preference in illustrator preference file using ActionScript 3.0.
    I tried to achieve this  like --
    import com.adobe.illustrator.Preferences;
    var pref : Prefereneces = new Preferences();
    //To set value I used  this...
    pref.setStringPreference("url", id1.text);
    //To get value I used this..
    id1.text = pref.getStringPreference("url");
    i think there is prb in creating  Preference variable but I am unable to resolve.
    plz help.
    Thanks.

    I am having trouble with setStringPreference. It seems to be setting the value to 0 in the Prefs file. When I first wrote the code, it was working, but something is keeping it from saving the right value now. Did you get yours working? Any ideas?

  • Newbie - how to change the color of a line using ActionScript?

    This must be the most basic question in the world, but I've
    been searching the documentation for an hour.
    All I want to do is to draw a line on the stage, and then
    change its color (or endpoint positions) dynamically using
    ActionScript.
    This is the 1st step to creating complicated dynamic
    animations... (No, I do not want to use the timeline, I want to do
    it dynamically.)
    Yet a line can't be an instance, so I'm confused -- how can I
    possibly do this? Is there some key concept I'm missing here?
    Thanks
    Michael

    AS2 required you to create your own function for doing
    primitive shapes. In AS3 that has changed and the graphics package
    includes not only the old AS2 drawing API but also has methods for
    doing squares, circles etc.
    If you are a VB programmer, my honest opinion is to leave
    your traditional OOP mindset at the door when using Flash.
    Actionscript is still in its infancy and although AS3 does really
    strive for OOP oneness, it isn't there 100% like VB is which has
    been around 20 years longer and gone through numerous additions
    etc. Whenever I learn a new language VB, PHP, C, AS, Java....I try
    my best to look at the language as its own identity. All language
    share similarities but they all have their own idiosyncrisies. Keep
    an open mind and you'll find what you need.
    Most of the seasoned guys here will also tell you that
    although the documentation is decent, you are better off going out
    and picking up a book on Flash 8/CS3 and another one on
    Actionscript. Familiarize yourself with the program that way.
    With your programming background, I'd recommend picking up
    Essential AS2 (or AS3) by Moock depending on your version of Flash.
    Also, if you are more interested in the programmatic side of Flash,
    why not look into Flex Builder and AIR. Since it is purely a
    programming environment (no Flash IDE), you'd be more
    comfortable.

  • Gradients using black print very dark

    I created a number of documents using pages in pages 06, which I now use with pages 09. My problem is that gradients using black print much darker than they did before, indeed so dark they are unusable.
    The gradients are generally made up of black and white, with the black transparency set somewhere between 30% and 50%. I have tried varying the black transparency and can acheive good results by dropping it to 2% to 8%, but this would involve an awful lot of work setting each gradient in multiple templates and would much prefer if I could just correct this issue by altering a preference or other setting somewhere.
    When I use the term print I mean both to paper and to pdf, the results are much the same, however it would be difficult to include an example of the paper print.
    Below is a screenshot of part of a document in pages.
    This is a screenshot of how the export/print to pdf now turns out.
    and this is a screenshot of some previous pdf's I had saved prior to using pages 09.
    All suggestions are welcome.

    I was sort of hoping I wouldn't need to change my documents as I have quite a few that are used as templates, but I guess this may be the only solution after all.
    You should do as Magnus suggests. I'm a little iffy about the but, because if you don't delve into the depths of the Colour Picker there is no but at all.
    If you use the Colour Picker as is, without digging into the defaults, you will be defining device independent CIE colours using a device dependent RGB interface for a linear colour space.
    In a linear RGB colour space equal amounts of colourant render as neutral gray, just as if you were working in a CIE device independent colour space such as CIELch (lightness, chroma, hue).
    The problem with the Colour Picker and the system as such is that it says, "OK, all these colour spaces are for RGB data, so I'll lump them together whether they are linear or not."
    The ICC Specification doesn't have a separate category for linear RGB colour spaces (idealised RGB colour spaces) versus measured monitor spaces and (inkjet) printer spaces which are non-linear.
    If you play with the Colour Picker, then next to the data model selector (Gray, RGB, HSB (hue, saturation, brightness) and CMYK) there is a button with a barely visible triangular Disclose icon.
    If you click the Disclose icon, you will see a drop-down list of installed ICC profiles for that data model, including idealised and linear spaces as well as measured device spaces that are non-linear.
    To make matters a bit more complicated, there are idealised and linear RGB colour spaces that serve as substitutes for a proper CIELch interface as in LinoColor/NewColor, but there are no idealised and linear CMYK colour spaces (well, not as near linear anyway).
    /hh

  • How  to align buttons using ActionScript in Flex

    Hi all, I'm pretty new to Flex and ActionScript but
    I’ve created an myAddForm() function in an actionscript class
    but I can't align the buttons - I’ve been looking at using a
    buttonbar but can't figure out how to convert the code in to
    actionscript from the mxml examples. any advice what to use...
    function below.. This works but with the button on top of one
    another.. Any help is greatly appreciated

    Ooops - I indeed mean ActionScript.
    In any case, what is the difference between ExtensionBuilder and "FlashBuilder + CSIDE libs"? Is ExtensionBuilder that thing that you have to be a Partner for and nobody alive today has managed to reach the person at Adobe who adds you to the program?
    Apropo the upcoming holoday, I understand that successfully contacting Adobe about joining the CS5 SDK partner program is sort of like virgin birth - the last time it happened was 2010 years ago and nobody alive today has ever seen it happen...
    I THINK I am using FlashBuilder plus the CS5 SDK Framework. So how do I catch events that way, since I don't see the CS5 options in the project's properties dialog.
    mlavie

  • Playing sound using ActionScript 3.0 (newbie)

    I have a Flash animation I've created, and at the last minute we have decided to add one audio track to the background.  The problem is, I have a looping animation in the timeline, so simply inserting the audio into a layer in the timeline will not work (because it will loop as well).
    Can anyone help me with how to insert just one sound file "on top" of all the animations playing using ActionScript 3.0?  I've never worked with the Sound class, and have never put audio into a Flash file besides simply importing it into a frame.
    THANKS!
    Jen

    Worked perfectly.  Thank you thank you!
    Jen

  • Mesh gradients using pantone colors

    Hi,
    I'm struggling to create gradients for screen printing purposes. The artwork will be printed on 12oz canvas using 3-4 pantone spot colors.
    1) if I fill an object with a single Pantone color, create a mesh gradient from it using a variety of different opacity settings, say 100%, 50% and 25%, then play around with the mesh handles to produce a pleasant, mixed background, will a gradient of this type work for screen printing? I don't know if a gradient of this type will require halftones, as a linear or radial gradient would.
    2) it's my understanding that when you prepare artwork for screen printing using spot colors, each color should be on its own layer. In an attempt to add highlights or shadows to an object, if I copy an object and paste it in front of itself, then apply a gradient using another Pantone spot color, say Pantone Process Black(100% to 0% opacity), does it matter what the blending mode is? Obviously you'll get different results based on the option you choose, but again, I'm concerned here only with screen printing. I can then place the gradient on the Black layer.
    The problem is that I'm familiar with off-set printing, and apparently gradients have to be converted into halftones when screen printing, so I'm trying to figure out the best way of creating shadows and highlights.
    Thanks for any help you can provide.
    Mark

    Mark,
    Getting your head around a few age-old fundamental repro principles will clarify this stuff for you:
    First and foremost: Think in terms of INKS, not "colors." Take off your designer hat and think like a mechanic. You're dealing with real-world substances: scoops of thick, gooey, solid-color ink that will be squished onto some object.
    Line Art: Artwork designed to be reproducable using only areas of solid ink coverage. No graduations of any kind whatsoever. In other words, nothing but 100% "tint" (often called "solid") of the ink(s).
    Tint Screens: Uniform coverage of a given ink, but at any percentage other than 100%.
    Continuous-Tone Artwork (often called "contone"): Anything involving varying percentages of a given ink, be it a "grayscale" gradauation of a single ink or graduation involving two or more inks.
    Halftone: A photomechanical process used to distribute small dots (or lines, or some other pattern) of ink so as to SIMULATE tints and/or gradations. That's the important concept: There are no "graduated inks." Any given location on the final print either has ink or it has no ink on it. The ink is always a solid color. So anything other than the actual color of the solid (100%) ink is a mere SIMULATION.  That simulation requires that the ink be laid down as a series of tiny dots (or array of lines, etc.) so as to suggest things other than the 100% color of the actual, physical ink that is loaded into the press (or silkscreen).
    Spot-color (opaque) versus process-color (translucent) is a SEPARATE ISSUE from line art (no tone screening) versus contone art (tone screening required). You are confusing those two separate and distinct issues.
    Now put this in the context of screen printing:
    All artwork involving  tints or continuous tone requires halftoning. Compared to offset lithography, screen printing is very limited in its ability to handle halftoning. Many small local screen printing shops can't do halftoning at all. Typical medium-size screen printing shops (local T-shirt shops, etc.) can often do halftoning at a very course frequency (i.e.; large dots), often no smaller than 30~50 Lines Per Inch (LPI), and both color fidelity and sharpness suffer. Only larger and more sophisticated screen printing shops, running expensive, high-end automated equipment utilizing very fine screen mesh fabrics can reliably hold small halftone dots and consistently maintain color.
    Bottom line: The way you prepare artwork for screen printing is highly dependent upon the kind of shop that will be doing the printing.
    Screen printing is done on a wide variety of materials (substrates). Substrates are quite often not white. They are often dark. So spot color inks designed for screen printing are usually very opaque. That puts them in a whole other world from the almost-always translucent inks of offset lithography, AND from the real world that Illustrator's interface is capable of simulating. Illustrator does not provide any means by which to specify the real-world opacity of a Spot Color Swatch. So when you use blends, grads, and overprinting, Illustrator cannot do a good job of simulating what you will actually see in the final screen printed results.
    Bottom Line: If you are building continuous-tone artwork involving blends, grads, tints, etc. (i.e.; anything requiring halftoning) and/or overprinting, you need some real-world experience to reasonably well anticipate how your halftoned artwork is going to look when printed. Best advice is to start simple. Design around your limitations, and those of the screen shop you will be using. Limit your designs to spot colors and entirely line art.
    Now to your specific questions:
    I'm struggling to create gradients for screen printing purposes.
    Grads are going to require halftoning. Have you asked your screen printer what halftone frequency (LPI) he is able to reliably hold?
    The artwork will be printed on 12oz canvas using 3-4 pantone spot colors.
    Understand: Pantone is a company. The Pantone company publishes its own standardized formulae for its own branded inks, which are offset lithography inks, not silkscreen inks. In other words, it's just a commonly-used color reference. You would be better off refering to actual color swatches of the actual screen printing inks your screen printer will be using. Set up your Spot Color Swatches in Illustrator corresponding to the actual inks.
    1) if I fill an object with a single Pantone color, create a mesh gradient from it...
    Always state WHAT VERSION of Illustrator you are using. Grad mesh did not always support spot colors. Blends still don't.
    ...using a variety of different opacity settings, say 100%, 50% and 25%...
    Don't confuse "opacity" with "tints." What Illustrator calls "opacity" and "transparency" usually involves rasterization and/or conversion to process color.
    ... then play around with the mesh handles to produce a pleasant, mixed background, will a gradient of this type work for screen printing?
    It will work for screen printing IF:
    The particular screen printing setup adequately supports halftoning.
    The mesh is built appropriately for the color separation model (spot, process, or process-plus-spot) that will be used to print it. Again, you have to be aware of the number of INKS that you are designing for, and make sure your design does not require more than that when it is color-separated (think "ink-separated").
    Current version Illustrator provides a color-separation preview feature, which can save you alot of grief if you use it. If using an earlier version, but have Acrobat Pro, save the file as a PDF, open it in Acrobat, and use its Separation Preview feature. If using an earlier version and do not have Acrobat Pro, "print" as color-separations to a PDF virtual printer like Adobe PDF. Then open the PDF in Reader and study the separate pages. (Screen print jobs are, in fact, often delivered as such a pre-separated PDF.) 
    I don't know if a gradient of this type will require halftones, as a linear or radial gradient would.
    Based on the above, you should now know that. Yes, ANYTHING that involves graduated color requires (at least a simulation of) "graduated ink". Since "graduated ink" does not exist, halftoning (or some other kind of tone screening--there are others) is required in order to simulate it.
    2) it's my understanding that when you prepare artwork for screen printing using spot colors, each color should be on its own layer.
    No. Absolute nonsense. (Don't believe everything you find written by self-proclaimed "experts" or "tutors" on the web, no matter how fancy you think their demonstrations are.) If that were true, then how, (for just one example) could you possibly screen print a rectangle with a spot-to-spot grad fill? The path containing that grad resides on one Layer, doesn't it?
    In an attempt to add highlights or shadows to an object, if I copy an object and paste it in front of itself, then apply a gradient using another Pantone spot color, say Pantone Process Black(100% to 0% opacity), does it matter what the blending mode is?
    Yes, it matters. Blending Modes has to do with so-called "transparency" effects. Again, anytime you muck around with "transparency" you increase the liklihood of rasterization and/or conversion to process at output. You would be safer setting that copied, pasted, grad-filled object to overprint. Halftoning will still be required, at least on the separation corresponding to the ink(s) for that grad.
    Obviously you'll get different results based on the option you choose... I'm concerned here only with screen printing.
    If you are designing for SPOT COLOR screen printing (as opposed to process color), stay away from transparency effects unless/until you understand what you're doing.
    I can then place the gradient on the Black layer.
    Again, forget Layers corresponding to ink separations. A total misconception. Utterly unnecessary.
    The problem is that I'm familiar with off-set printing, and apparently gradients have to be converted into halftones when screen printing, so I'm trying to figure out the best way of creating shadows and highlights.
    The best way to create shading is HIGHLY dependent upon the technical capabilities of the specific screen printing shop. Always ask:
    Can the shop support halftoning?
    If so, what is the maximum halftone ruling (LPI) they can reliably hold on the particular target substrate? (If they don't understand this question, either stick to line art or find another screen shop.)
    This does not mean that you cannot do shaded artwork without halftoning. (In fact, much of the most stunning screen-printed work is done entirely as line art.)  Designer fully acquainted with the limitations of screen printing commonly employ artwork shading techniques to avoid the need for halftoning altogether. They use hatching or stippling or contour linework to build "shading" into the artwork, and all inks are printed as line art. In this regard, preparing artwork for screen printing is often more "creatively rewarding" because you first, understand the real-world limitations of the reproduction method and, second, devise clever and original artwork methods to work within those limitations.
    But it's not something anyone can give you a step-by-step, one-size-fits-all-situations crash course in, in an online forum.
    JET
    JET

Maybe you are looking for

  • ITunes Last Played time off by 1 Hour

    Hi Guyz, I am on SE Asia Time (GMT+7) and my PC clock is set correctly, but every time I play song in iTUnes, it's Last Played time is off (earlier) by exactly 1 Hour. Anyone why it's doing that. Example Now it's 18:27 and the song will say last play

  • How can I access the sub elements of the Nested Cluster-2

    would like to know the label a sub element of a Nested Cluster. I have included the vi. I am trying to programmetically read the Text label of the data elements in Value N mode cluster (Max , Min Mode). I was looking into the Type descriptor document

  • How to display the BI query in full area in Bex iView

    Hi to all, I have implemented BI query in Bex iView. While preview of iView the BI query is not displayed in full vertical and horizontally length. It is displayed in half horizontal and half vertical with scroll bar. Is there any way, I can display

  • DOES APPLEWATCH HAS A BAROMETER

    does apple watch has a barometer?

  • Aperture 2.3 update and Canon 350 (xsi) RAW+JPEG issue

    Anyone know if this update fixes the problem with importing RAW+JPEG captures from Canon 350 (xsi)? I'd hate to download this update and then have to un-do it (again). Thanks!