Web Crafts Free Quote Contact
website design graphic design software development flash design e-marketing other services
web site design web consultation web applications web translations ecommerce solutions web maintenance other web services

You are currently browsing the archives for the Flash Design category.

Additional Links


Archive for the ‘Flash Design’ Category

Flash Transitions

posted by webmaster 3:26 AM
Sunday, June 17, 2007

This tutorial explains a quick and easy way to transition through different aspects of your site. Transition refers to transitioning content out before transitioning content in. The tutorial covers how to dynamically attach your navigation or how to hard code it.

All of the tutorial material below is placed in frame 1 on the main timeline of your movie.

On frame 1:

This function below (made globally accessible by the “_global” before it) decides what the user pressed in the navigation. As you can see, it takes one argument, which, if you go into the navigation movieclip, you can see that the name of whatever button that got pressed, gets passed into this function. For instance, if they press button1_mc, the script on all of the buttons looks like:

this.onRelease = function(){
navigate(this._name);
}

The this._name automatically sends the name of whatever button got pressed. Because each button is merely an instance of the “nav button mc” from the library, I’m able to give each button an instance name. And with this navigate function, I’m able to easily determine which button got pressed.

So if they pressed button1_mc: (continued in the function explanation)

_global.navigate = function(x) {
//x would equal “button1_mc”
//this global variable lets us limit the user from pressing the same
//button that they’re located at.
_global.pressed = x;
//If where they pressed is where they are already, it won’t do
//anything. the “already” variable is undefined
//on the first run, so it always passes.
if (pressed != already) {
//assign our already variable after the first run.
_global.already = pressed;
//convert the value of x to a string, and assign it to ‘name’
name = String(x);
//find the 6th character of this string. “button1_mc”
//or “button2_mc” it will be 1,2,3 or 4.
which = name.charAt(6);
//Tell our content that they wanted section 1,2,3 or 4. Set
//the content_mc.section variable
//equal to a string concactination of “section” and 1,2,3 or
//4. it needs to be a string since in the
//content_mc we’re telling it to go to a frame label which
//needs to be a string. see the content_mc
//for more details.
content_mc.section = String(”section”+which);
//tell the content to play. come back to this logic after
//you’ve explored the content_mc clip.
content_mc.play();
}
};

The only problem with this approach is that they can press more than one button in the time it takes you to transition everything in or out. To get around this, I’ve made my buttons on my site disappear :)

http://www.dravenslair.net/

Another way would be to store what they pressed in an array, and if there are elements in the array, redo your animations until the array is empty, each time, removing the section that they pressed.

Another method is to just disable the buttons. it’s a little more tricky for movieclip buttons, but it can be done

///////////////////////////////////////////////////////////////////////
// ATTACHING THE NAVIGATION DYNAMICALLY version 1.00 12.10.2002 //
/////////////////////////////////////////////////////////////////////

Section 1.0 – Table of Contents
Section 1.0 – Table of Contents
Section 1.1 – Overview of process
Section 1.2 – Summary of attachMovie
Section 1.3 – attachMovie for us!
Section 1.4 – Using the for loop to label our buttons/pathing
Section 1.5 – Positioning our buttons
Section 1.6 – CODE!
Section 1.7 – Summary
Section 1.8 – errata

Section 1.1 – Overview of process

The following code will dynamically attach the navigation buttons to the nav_mc. This is done using “attachMovie”. In order to attach any movie, it needs to have a linkage name. Open your library, right click on the “nav button mc” symbol and select “linkage”. Notice that “export for actionscript” is checked, as well as “export in first frame”. This gives us the ability to place this symbol exactly as we would when we drag it out of the library, except we can do it with code.

Section 1.2 – Summary of attachMovie

The syntax for attach movie is as follows (in plain english):

MovieClip.attachMovie(”linkage name (from library)”,”new instance name of
object attached”,”depth”);

For us that means that we will attach the buttons to our nav_mc. This means that when ever we want to reference the attached buttons, we must first reference our nav_mc. This is because like I said before, attach movie is exactly like dragging a symbol out from our library, except it’s dynamically. In the nav_mc on the guide layer, I just dragged them out. And in order to reference them I had to say “_root.nav_mc.buttonx_mc”. This is the same for when we use it in code:

Section 1.3 – attachMovie for us!

// nav_mc.attachMovie(”navbutton”,”button”+(i+1)+”_mc”,i);

  • nav_mc = the navigation movie clip

  • navbutton = the linkage name that i’ve given our navigation button movie clips (section 1.1)

  • “button”+(i+1)+”_mc” = the instance name of our attached buttons.
    I want to be able to use my old code to navigate, so I give them the same instance names that i gave them if I just dragged them on and gave them a name through the properties panel. Remember that our navigate function looks for the name of the object that called it to decide where to navigate. So they sill need to be “button1_mc”, “button2_mc” etc. “button”+(i+1)+”_mc” will achieve that (because i = 0, so we need to add one ;)

  • i = z-depth of the attached objects.

Section 1.4 – Using the for loop to label our buttons/pathing

I still need to give the buttons labels (section 1 etc.) which is done on the second line of the for loop. The buttonx_mc.title_txt.text still applies just the same as if you dragged it out of the library (yet again). So all we have to do is reference the right path:

  • nav_mc["button"+(i+1)+"_mc"].title_txt.text = “Section “+(i+1);

  • nav_mc["button"+(i+1)+"_mc"] = the path to the button. notice it lies on the nav_mc timeline

  • title_txt.text = the dynamic text field in our navigation button

  • “Section +”(i+1) = Section 1, Section 2 etc… (i+1) because we started at 0.

Section 1.5 – Positioning our buttons

I’ve hard coded the x values for where we will place our navigation buttons in an array appropriately named “x_nav_positions”. I’ve cheated and just written down the positions so i could hard code them :) . Some simple math would allow you to position them dynamically and evenly if you wanted. In the case of our code:

// nav_mc["button+(i+1)+"_mc"]._x = x_nav_positions[i];
// nav_mc["button+(i+1)+"_mc"]._y = 1.1;

  • nav_mc["button+(i+1)+"_mc"]._x = the path to the _x property for each button in our for loop

  • x_nav_positions[i] = the hard coded values of the x values for our buttons. Notice that the coordinates are relative to the timeline of the nav_mc (just like if we dragged them into the timeline of the timeline of nav_mc… see the pattern here? :)

  • nav_mc["button+(i+1)+"_mc"]._y = the path to the _y property of all of our buttons

  • 1.1 = the _y position for all of your buttons. Again, I’ve cheated and just hard coded this because I know where they are supposed to be :)

Section 1.6 – CODE!

x_nav_positions = [39.1, 166.1, 293.9, 421.4];
for(i=0;i<4;i++){
nav_mc.attachMovie(”navbutton”,”button”+(i+1)+”_mc”,i);
nav_mc["button"+(i+1)+"_mc"].title_txt.text = “Section “+(i+1);
nav_mc["button"+(i+1)+"_mc"]._x = x_nav_positions[i];
nav_mc["button"+(i+1)+"_mc"]._y = 1.1;
}

Section 1.7 – Summary

So, if you open the nav_mc movieclip, you’ll see that the navigation buttons are on on a guide level (meaning it won’t publish). Also, notice that the code is commented out. So as you can see, because the buttons function dynamically by calling generic functions and sending in the instance name, all we need to do is attach the buttons to the right path and it works just the same as dragging it from the library manually.

One thing to keep in mind is that these symbols export on the first frame of the movie, and will screw up preloaders. As long as the things you are exporting are relatively small, it shouldn’t affect it, but what happens is the size of these symbols is included in the .swf, but it doesn’t register if you say _root.getBytesTotal(); …. it’s kind of a pain…

So here’s a quick overview of what we did:

  • gave our button a linkage name (symbol id) in the library

  • wrote a for loop to attach the navigation button TO the nav_mc movieclip

  • used the loop to dynamically set the title and positions

Section 1.8 – errata

At time of publication (11:24 AM 12.10.2002 GMT 07:00:000) there are no known bugs of discrepancies

Thanks.

Download the source file here.

Use of an Entry Splash Page

posted by webmaster 6:15 AM
Monday, April 30, 2007

Over the past few days I have been zooming through sites looking at different designs for inspiration and ideas. During my site viewing time I came to realize things I hate about web designers. These are things that caused me to close my browser window before the site loaded or even not visit the site at all. Perhaps you’ll agree with me and use some of these tips when you’re designing sites.

Take a look at Steel Dolphin Creative. After going to the main url I had to click yet another enter button for a static HTML site! To me this not necessary and a waste of good browsing time.

Liquid Chrome is a good example of how to use an entry page. It’s sweet and simple.

The only reason you should have an entry page is if your site takes a while to download for some reason or you need your viewers to download the proper technology to view your site. It’s also a good thing to give your viewers a choice to see Flash or HTML and give them a chance to see what your site is about before they commit to viewing. Don’t make the viewers click any more than they have to. Most people are too lazy to click, then click again, and again just to see your index page.

Some pages that do have Flash don’t have splash pages. Yes it can be done. Here is art + design. The actual Flash page loads quicker than having an entry page, so they didn’t even include one.

If you do feel that your site should require an entry page please keep the graphics down to a minimum. Nothing better than waiting on tons of graphics just to click onto another page that has to load.

Loading…

In my opinion every Flash design should include a loading screen. It’s annoying looking at a blank page wondering if your browser is loading properly.

When you do have a loading screen you may want to include one with either a progress bar or percentage so your viewers know how close they are to having the file downloaded.

Pop-ups and full screen

When I’m browsing sites I absolutely hate having pop-ups or even worse, full screen movies. I personally feel like the site is trying to take over my personal space with full screen sites. Any site that I come across that opens in full screen mode automatically gets the alt+f4 to close it before it even gets a chance to load.

I can deal with pop-ups most of the time, but don’t automatically load them. I often find myself closing pop-ups thinking they are ads. Pop up blockers also do the same thing. They automatically think any pop up is an advertisement. If you do feel that you should automatically load a pop-up for your Flash movie, make sure you keep a link on the main page to re-open the pop just in case it accidentally gets closed.

Links in Flash sites

If you have any external links in your Flash sites, make sure they open a separate browser window. I hate clicking on links, being redirected to another page or site, hitting the back button and having to wait on the Flash movie to restart. This will also help to keep visitors on your site.

Hopefully you can see where I’m coming from on these suggestions. Remember, we didn’t create the web. We just make it easier to use.

Also feel free to send me some email.

By John P. Rawlins

Flash Transitions

posted by webmaster 8:41 AM
Friday, November 17, 2006

This tutorial explains a quick and easy way to transition through different aspects of your site. Transition refers to transitioning content out before transitioning content in. The tutorial covers how to dynamically attach your navigation or how to hard code it.

All of the tutorial material below is placed in frame 1 on the main timeline of your movie.

On frame 1:

This function below (made globally accessible by the “_global” before it) decides what the user pressed in the navigation. As you can see, it takes one argument, which, if you go into the navigation movieclip, you can see that the name of whatever button that got pressed, gets passed into this function. For instance, if they press button1_mc, the script on all of the buttons looks like:

this.onRelease = function(){
navigate(this._name);
}

The this._name automatically sends the name of whatever button got pressed. Because each button is merely an instance of the “nav button mc” from the library, I’m able to give each button an instance name. And with this navigate function, I’m able to easily determine which button got pressed.

So if they pressed button1_mc: (continued in the function explanation)

_global.navigate = function(x) {
//x would equal “button1_mc”
//this global variable lets us limit the user from pressing the same
//button that they’re located at.
_global.pressed = x;
//If where they pressed is where they are already, it won’t do
//anything. the “already” variable is undefined
//on the first run, so it always passes.
if (pressed != already) {
//assign our already variable after the first run.
_global.already = pressed;
//convert the value of x to a string, and assign it to ‘name’
name = String(x);
//find the 6th character of this string. “button1_mc”
//or “button2_mc” it will be 1,2,3 or 4.
which = name.charAt(6);
//Tell our content that they wanted section 1,2,3 or 4. Set
//the content_mc.section variable
//equal to a string concactination of “section” and 1,2,3 or
//4. it needs to be a string since in the
//content_mc we’re telling it to go to a frame label which
//needs to be a string. see the content_mc
//for more details.
content_mc.section = String(”section”+which);
//tell the content to play. come back to this logic after
//you’ve explored the content_mc clip.
content_mc.play();
}
};

The only problem with this approach is that they can press more than one button in the time it takes you to transition everything in or out. To get around this, I’ve made my buttons on my site disappear :)

http://www.dravenslair.net/

Another way would be to store what they pressed in an array, and if there are elements in the array, redo your animations until the array is empty, each time, removing the section that they pressed.

Another method is to just disable the buttons. it’s a little more tricky for movieclip buttons, but it can be done

///////////////////////////////////////////////////////////////////////
// ATTACHING THE NAVIGATION DYNAMICALLY version 1.00 12.10.2002 //
/////////////////////////////////////////////////////////////////////

Section 1.0 – Table of Contents
Section 1.0 – Table of Contents
Section 1.1 – Overview of process
Section 1.2 – Summary of attachMovie
Section 1.3 – attachMovie for us!
Section 1.4 – Using the for loop to label our buttons/pathing
Section 1.5 – Positioning our buttons
Section 1.6 – CODE!
Section 1.7 – Summary
Section 1.8 – errata
Section 1.1 – Overview of process

 

The following code will dynamically attach the navigation buttons to the nav_mc. This is done using “attachMovie”. In order to attach any movie, it needs to have a linkage name. Open your library, right click on the “nav button mc” symbol and select “linkage”. Notice that “export for actionscript” is checked, as well as “export in first frame”. This gives us the ability to place this symbol exactly as we would when we drag it out of the library, except we can do it with code.

Section 1.2 – Summary of attachMovie

The syntax for attach movie is as follows (in plain english):

MovieClip.attachMovie(”linkage name (from library)”,”new instance name of
object attached”,”depth”);

For us that means that we will attach the buttons to our nav_mc. This means that when ever we want to reference the attached buttons, we must first reference our nav_mc. This is because like I said before, attach movie is exactly like dragging a symbol out from our library, except it’s dynamically. In the nav_mc on the guide layer, I just dragged them out. And in order to reference them I had to say “_root.nav_mc.buttonx_mc”. This is the same for when we use it in code:

Section 1.3 – attachMovie for us!

// nav_mc.attachMovie(”navbutton”,”button”+(i+1)+”_mc”,i);

  • nav_mc = the navigation movie clip

  • navbutton = the linkage name that i’ve given our navigation button movie clips (section 1.1)

  • “button”+(i+1)+”_mc” = the instance name of our attached buttons.
    I want to be able to use my old code to navigate, so I give them the same instance names that i gave them if I just dragged them on and gave them a name through the properties panel. Remember that our navigate function looks for the name of the object that called it to decide where to navigate. So they sill need to be “button1_mc”, “button2_mc” etc. “button”+(i+1)+”_mc” will achieve that (because i = 0, so we need to add one ;)

  • i = z-depth of the attached objects.

Section 1.4 – Using the for loop to label our buttons/pathing

I still need to give the buttons labels (section 1 etc.) which is done on the second line of the for loop. The buttonx_mc.title_txt.text still applies just the same as if you dragged it out of the library (yet again). So all we have to do is reference the right path:

  • nav_mc["button"+(i+1)+"_mc"].title_txt.text = “Section “+(i+1);

  • nav_mc["button"+(i+1)+"_mc"] = the path to the button. notice it lies on the nav_mc timeline

  • title_txt.text = the dynamic text field in our navigation button

  • “Section +”(i+1) = Section 1, Section 2 etc… (i+1) because we started at 0.

Section 1.5 – Positioning our buttons

I’ve hard coded the x values for where we will place our navigation buttons in an array appropriately named “x_nav_positions”. I’ve cheated and just written down the positions so i could hard code them :) . Some simple math would allow you to position them dynamically and evenly if you wanted. In the case of our code:

// nav_mc["button+(i+1)+"_mc"]._x = x_nav_positions[i];
// nav_mc["button+(i+1)+"_mc"]._y = 1.1;

  • nav_mc["button+(i+1)+"_mc"]._x = the path to the _x property for each button in our for loop

  • x_nav_positions[i] = the hard coded values of the x values for our buttons. Notice that the coordinates are relative to the timeline of the nav_mc (just like if we dragged them into the timeline of the timeline of nav_mc… see the pattern here? :)

  • nav_mc["button+(i+1)+"_mc"]._y = the path to the _y property of all of our buttons

  • 1.1 = the _y position for all of your buttons. Again, I’ve cheated and just hard coded this because I know where they are supposed to be :)

Section 1.6 – CODE!

x_nav_positions = [39.1, 166.1, 293.9, 421.4];
for(i=0;i<4;i++){
nav_mc.attachMovie(”navbutton”,”button”+(i+1)+”_mc”,i);
nav_mc["button"+(i+1)+"_mc"].title_txt.text = “Section “+(i+1);
nav_mc["button"+(i+1)+"_mc"]._x = x_nav_positions[i];
nav_mc["button"+(i+1)+"_mc"]._y = 1.1;
}

Section 1.7 – Summary

So, if you open the nav_mc movieclip, you’ll see that the navigation buttons are on on a guide level (meaning it won’t publish). Also, notice that the code is commented out. So as you can see, because the buttons function dynamically by calling generic functions and sending in the instance name, all we need to do is attach the buttons to the right path and it works just the same as dragging it from the library manually.

One thing to keep in mind is that these symbols export on the first frame of the movie, and will screw up preloaders. As long as the things you are exporting are relatively small, it shouldn’t affect it, but what happens is the size of these symbols is included in the .swf, but it doesn’t register if you say _root.getBytesTotal(); …. it’s kind of a pain…

So here’s a quick overview of what we did:

  • gave our button a linkage name (symbol id) in the library

  • wrote a for loop to attach the navigation button TO the nav_mc movieclip

  • used the loop to dynamically set the title and positions

Section 1.8 – errata

At time of publication (11:24 AM 12.10.2002 GMT 07:00:000) there are no known bugs of discrepancies

Thanks.

Download the source file here.

By Bret  

Flash Mailing Lists, Tools, Integrating with Web players, 3D, Sounds and Books

posted by webmaster 6:43 AM
Friday, August 25, 2006

These sites are not affiliated in any way with Macromedia. While Macromedia employees may participate in online forums or mailing lists operated by some of these sites, Macromedia does not commit its employees to monitoring these forums or lists. Macromedia has no editorial control over content published on these Web sites. The following Web sites are presented as resources that may benefit you with Flash.

Third-party mailing lists: Fig Leaf
Flashcoders, Flashnewbies, Generator, ColdFusion, and JRun

flasher-l
Unmoderated forum for developers using Flash

FSDesigners
Open forum for designers using Flash

pro_flash
Moderated forum for professional developers using Flash

Third-party tools: Aritali.com
Kumani – Tool to run a Flash on a kiosk

Flash projector – slightly edited version of the Macromedia projector

Flash Studio Pro
Tools for extending Macromedia Flash projectors

Flashjester
Tools for extending Macromedia Flash projectors

OpenSWF
SWF file format specialists

mProjector
Create windowless or shape-changing projectors

SWF Studio
Windows tool for extending the functionality of projectors

Swish
SWF creation tool

Swifty Utilities
Tools for opening and organizing SWF files

Integrating Macromedia Flash with other Web players:
Beatnik
How to integrate Flash with Beatnik

Real Player
Information on creating RealFlash content

QuickTime
Article on integrating Flash with QuickTime

3-D: Illustrate!
Standalone tool and plugin for 3D Studio Max

Swift 3D

Standalone tool for creating 3-D Flash movies

Vecta3D
Optimaze! Standalone tool and plugin for 3D Studio Max

Pope de Flash
Flash 3-D tutorials, forums, and other resources

Sound:
Sound resources are available in Flash sound resources

Books:
Macromedia Flash books are available for further research.

By Merle

Design Better looking flash Animations

posted by webmaster 3:16 AM
Wednesday, January 11, 2006

Tip #1 – Changing (FPS) Frame Per Second to improve Quality

Changing the FPS (frames per Second) for flash movies can help keep your animation from jumping.

After reviewing many sites posted on the net I noticed that a lot of Flash designers fail to change the frame rate of their Flash movies. It’s one simple little step that will make all the difference in your animations and tweens. When I first started using a higher FPS frame rate I had to keep adding frames to my tweens to make them last longer, but once I was used to it, I had no problems. 

For most Flash movies I recommend having a 60 FPS frame rate. This will give you a nice, non-stutter animation.

Tip #2 – Importing of high resolution images

Its advisable to use high resolution images when using image animation. Low resolution images will be pixilated during most animations (such as enlarging, random movement, etc.).

About Us    |     Careers    |     Client Login    |     Portfolio    |     Testimonials    |     Request a Quote    |     Contact Us    |     News & Articles    |     Link Partners    |     Privacy Policy

© 2000-2011 All rights reserved. Web Crafts (Private) Limited.  |  Site Map  |   Connect With Us

Bookmark This Page:

Delicious Facebook Digg Google Yahoo StumbleUpon Twitter Reddit