A Flash Developer Resource Site














Internet Commerce

Partners & Affiliates














Developer Channel

internet.com


Featured Flash FLA
Gallery Downloads 11337 Flash Movies | 1 New Flash Movies Added
What's New | Top 100

Featured FLA

» Author: Bugra Ozden
» Title: Skatalog v9 - product catalog
» Description: Create your product catalog easly and publish on your website or Create your image gallery, documents list, portfolio. Fully XML Driven
» More by Bugra Ozden


Random FLAs | Add Flash Movie
Featured Flash Site
Gallery Downloads 5828 Flash Sites | 0 New Flash Links
What's New | Top 100 Flash Site

Featured Site

» Posted in the Flash Kit Links section
» Title: Creative DW Image Show PRO
» Description: Creative DW Image Show PRO is a Dreamweaver extension which enables the user to create multimedia presentations. It combines the features of the popular Creative DW Image Show with the ability to add professional text effects to slides (similar to After Effects). The product is very customizable: the user can choose the duration of the transition effects, the slide motion start and end position, zoom and panning type for both images and texts.


Random Links | Add your own Flash Related Links
Flash Tutorials 1280 Tutorials 7 New Tutorials Added!
What's New | Top100

» Make a Flash Slide Show Screen Saver
» Simple flash making tutorial for thanksgiving
» Create flash banner for website
» Create xml slideshow with free template
» How to Insert a Multilingual Subtitle Into Your Flash Video Studio
» How to Create Cool Halloween Slideshow
» Debugging flash using the Firebug console
» Create Flash Slideshow on Blogger
» FLASH TRICKS IN WEB ADVERTISING: FLASH BANNERS
» Unknown Tag: Title10
Random Tutorial | Add Site

Trading Customer Accounting (IL)
Next Step Systems
US-IL-Chicago

Justtechjobs.com Post A Job | Post A Resume


Tutorials Home What's New Top Rated Submit myTutes Random!

Search Tutorials


Categories Dynamic masking using the drawing API
Author: Patrick Mineault | Website: http://dakar.netqcca.com |

 
Page 5
«prev 1 2 3 4 5 6 next»

Movie 3: Pie preloader

So far we've only used the drawing API to draw squares. Certainly there are other things we can draw with it! In this movie we'll create a portion of circle (pie slice) in order to create a pie preloader. It should look something like this in the end:

Here the double arcs on the right represents the percentage of movie loaded (in this case about 45%).

Some background would be useful before presenting the script. Drawing a pie slice turns out to be a pain because it involves curves which are not nearly as simple to work with as lines in the drawing API. Now instead of creating "real" pie slices we will add a series of small triangles with a relative angle between them so as to create a section of a regular polygon. We'll use triangles with a side length greater than the radius of the masked circle and a sharp angle of 3.6 degrees (1/100 of a circle). What we need is a way to transform these angle and radius coordinates to more traditional Cartesian x and y pairs. A diagram will certainly help:

Convince yourself that the following relations hold:

x1 = r*sin(O)
x2 = r*sin(O+dO)
y1 = r*cos(O)
y2 = r*cos(O+dO)

With that in mind we may create our pie preloader. Create a circle with no interior and with a large outline (donut shape). Convert to movie clip (F8), assuring that that you select the center as the registration point (this is very important). Name the instance maskee. Now place it anywhere on the stage.

Select the movie clip and add this action to it (once again, not to the frame but to the clip itself):

onClipEvent(load)
{
 _root.stop();
 dO = 3.6;
 r = 75;
 function addslice(O)
 {
 x1 = r*Math.sin(O*Math.PI/180);
 x2 = r*Math.sin((O+dO)*Math.PI/180);
 y1 = r*Math.cos((O)*Math.PI/180);
 y2 = r*Math.cos((O+dO)*Math.PI/180);
 trace(x1 + ":" + y1);
 with(_root.mask)
 {
 moveTo(0,0);
 beginFill(0x000088);
 lineTo(x1,y1);
 lineTo(x2,y2);
 endFill();
 }
 }
 _root.createEmptyMovieClip("mask",0);
 this.setMask(_root.mask);
 _root.mask._yscale = -100;
 _root.mask._x = this._x;
 _root.mask._y = this._y;
 oldLoaded = 0;
}
onClipEvent(enterFrame)
{
 loaded = Math.ceil(_root.getBytesLoaded()/_root.getBytesTotal()*100);
 for(i = oldLoaded; i 

«prev 1 2 3 4 5 6 next»

» Level Advanced

Added: : 2004-03-26
Rating: 7.73 Votes: 15
Hits: 1080
» Author
Always looking for a new challenge, I'm going to Senegal this summer to lend my computer skills in a volunteering project. I'm sending you this tutorial as part of my fundraising campaign, see http://dakar.netqcca.com . Enjoy!
» Download
Download the files used in this tutorial.
Download (461 kb)
Get conversion and unzipping tools for PC and Mac here!

» Forums
More help? Search our boards for quick answers!

Please rate this tutorial, 10 is the top rating, you can also click the comments link to read/write a review.
10 9 8 7 6 5 4 3 2 1
Read or Post Comments
 
   
 

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs