Solved

In Flash MX2004, how do I turn this linear gradient box into a radial gradient circle?

Posted on 2007-11-28
6
218 Views
Last Modified: 2008-02-01
How do I modify this action script so that it produces a circle with a concentric radial gradient, instead of a box with a linear gradient?

Thanks,
John
import flash.geom.*

//

var mc:MovieClip = this.createEmptyMovieClip("grad", 1);

 

var colors = [0x79986B, 0xDCE0B6, 0x79986B, 0x000000];

var alphas = [100, 100, 100,100];

var ratios = [0, 15, 30,45];

var matrix = {matrixType:"box", x:100, y:100, w:200, h:200, r:(45/180)*Math.PI};

mc.beginGradientFill("linear",colors,alphas,ratios,matrix);

mc.moveTo(100,100);

mc.lineTo(100,300);

mc.lineTo(300,300);

mc.lineTo(300,100);

mc.lineTo(100,100);

mc.endFill();

Open in new window

0
Comment
Question by:gabrielPennyback
  • 4
  • 2
6 Comments
 
LVL 34

Expert Comment

by:Aneesh Chopra
Comment Utility
Just change "linear" to "radial"

you can also play with "ratios" array, to change the size of gradient circle.
for example, try replacing existing "radios" array with following:
var ratios = [0, 50, 100, 200];

here is the updated code:
import flash.geom.*;

//

var mc:MovieClip = this.createEmptyMovieClip("grad", 1);
 

var colors = [0x79986B, 0xDCE0B6, 0x79986B, 0x000000];

var alphas = [100, 100, 100, 100];

var ratios = [0, 15, 30, 45];
 

var matrix = {matrixType:"box", x:100, y:100, w:200, h:200, r:(45/180)*Math.PI};

mc.beginGradientFill("radial",colors,alphas,ratios,matrix);

mc.moveTo(100,100);

mc.lineTo(100,300);

mc.lineTo(300,300);

mc.lineTo(300,100);

mc.lineTo(100,100);

mc.endFill();

Open in new window

0
 
LVL 1

Author Comment

by:gabrielPennyback
Comment Utility
Hi aneesh,

Yes that was the first thing i tried, but I still get a 200x200 black box around the much smaller circle gradient.bIs "box" an ActionScript defined term?  I thought maybe "circle" would get rid of the black box, but that produces no shape at all.

John
0
 
LVL 34

Accepted Solution

by:
Aneesh Chopra earned 500 total points
Comment Utility
as I already mentioned

"
you can also play with "ratios" array, to change the size of gradient circle.
for example, try replacing existing "radios" array with following:
var ratios = [0, 50, 100, 200];
"

ratios defines the area each gradient color will occupy

ratio value must be in between 0 to 255

to get rid of black color you can set last color alpha to 0

just try follwoing code and see the output:
import flash.geom.*;

//

var mc:MovieClip = this.createEmptyMovieClip("grad", 1);

 

var colors = [0x79986B, 0xDCE0B6, 0x79986B, 0x000000];

var alphas = [100, 100, 100, 0];

var ratios = [0, 50, 150, 200];

 

var matrix = {matrixType:"box", x:100, y:100, w:200, h:200, r:(45/180)*Math.PI};

mc.beginGradientFill("radial",colors,alphas,ratios,matrix);

mc.moveTo(100,100);

mc.lineTo(100,300);

mc.lineTo(300,300);

mc.lineTo(300,100);

mc.lineTo(100,100);

mc.endFill();

Open in new window

0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 34

Expert Comment

by:Aneesh Chopra
Comment Utility
another point,
"ratios" Array value should be set in incremental to each previous element of the array
and value should be inbetween 0 to 255

0
 
LVL 1

Author Comment

by:gabrielPennyback
Comment Utility
Thanks, aneesh. The main key was making that last alpha zero. Thanks for the continuing education.

Please take a look at this related quesion. If you have the time to post an answer now that would be awesome.

http://www.experts-exchange.com/Software/Photos_Graphics/Web_Graphics/Macromedia_Flash/Q_22990904.html
0
 
LVL 34

Expert Comment

by:Aneesh Chopra
Comment Utility
welcome,
I just say the linked question and it has already been answered.

secondly,
if you are satisfy with my comment on this question.
Please close this question by accepting the appropriate comment


0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

I come across a lot of question about how to access things in the document class from a movieclip, or accessing something from a movieclip in the document class. It took me a while to figure this out but once I did it makes life so much easier. …
Here are some practices and techniques that can be adopted into your Flash/Flex application development process. Note: Not all "performance tips" provide an immediately-recognizable benefit.   This article does not include timing validation data,…
In this tutorial viewers will learn how to create a basic shape tween animation in Flash including shape hints for smooth animation Open a new document in Flash: Draw a shape: Select another frame (how long you want the tween to be): Right click and…
The goal of the tutorial is to teach the user how to how to load their YouTube profile onto Flash Media Live Encoder.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now