Character Animation: Movie Clip or Graphic Symbols?
Should I use Movie Clip or Graphic Symbols for Character
Animation? What do people who make TV shows use. If I'm not
planning on manipulating any symbols with ActionScript and I'm not
using a symbol that requires it's own time line like a walk cycle,
is there any reason to use movie clips symbols? If I put my
animation on the web will it download noticeably faster if I use
graphic symbols instead of movie clip symbols?
What I meant is, there are different ways of setting up a
workflow for Flash animation. Studio animators are trained in
traditional frame-by-frame animation. So their workflow is usually
to do the same in Flash: make every frame a keyframe, then copy and
paste everything from one frame into the next, then make whatever
changes are needed. A classically-trained animator can get a good
momentum working this way.
But for making the most streamlined SWF files, this method is
not the best. It's much better to rely on library assets, place
major parts or sets of parts on different layers, and only keyframe
those things that need keyframes. If good planning is done in
advance, it can be just as fast as doing straight-ahead keyframed
animation.
Either method may end up with the same result. But when you
want to go back and tweak things, it's a whole lot easier to do it
when method 2 is used.
I'm sure I'm not very clear. PM me and I'll send you a list I
created of "best practices" which I give to e-card animators.
One of these best practices is: place a thumbtack on the "G"
key on your keyboard. The very WORST habit that is taught to studio
animators using Flash is to use neither Graphics nor Movie Clips,
but to immediately click Ctrl-G every time they draw something.
This creates a Group. It's faster than hitting F8 and typing in a
name, but it causes ENORMOUS problems, especially when doing
retakes and revisions. And it results in gargantuan SWF files.
I literally GLUED a thumbtack to one one animator's keyboard,
since he seemed unable to remember this rule. Luckily this wasn't
in America, or I'd have been charged with grievous bodily
assualt.
Similar Messages
-
Tinting part of an animated movie clip
Hello - I have a need to tint part of an animated movie clip. For example, I might have a movie clip that consists of 2 layers, 1 layer that is tinted, and one layer that is not tinted. The animation needs to be done by an artist - it is not an algorithmic animation.
One way to do this is to make each layer a separate movie clip. Then I can apply a tint using the colorTransform property in ActionScript 3 on the 2nd movie clip. This works correctly but has several issues:
It makes it extremely difficult for the artist who creates the original animation. They can't scroll through the timeline and see what the final result looks like (like they could before the layers were converted to movie clips).
In order to drive the animation, you have to call gotoAndPlay on each sub-movie clip, instead of just once at the root level. This can cause mistakes if one movie clip's animation is slightly different than the other's.
I've played around with a ton of ways to do this, but nothing seems to work - either the tint ends up getting lost as the movie clip plays, or the tint sticks but the animation on the movie clip disappears.
Some examples of the types of things that would make this possible would be being able to assign a Tint setting from the the Flash IDE to an actionscript variable that I could change dynamically, being able to apply tints to layers instead of movie clips, etc. As far as I can tell, none of this is accessible in actionscript.
Does anyone have suggestions on how I can solve this problem, either through actionscript or by changing how the original Flash .fla is set up? To reiterate - making it so the artist can easily create the animation and maintain it is a top priority.
Thanks!it doesn't matter what kind of loop you use as long as it
checks frequently enough to catch the termination condition, not
too frequently so it wastes computing resources and terminates when
no longer needed. -
Changing movie clip to graphic causes white screen?
Using two instances of the same symbol in a project. When I test the project after placing the first instance on the stage as a movie clip, project works fine. When I place the second instance on the stage as a movie clip, project works fine. When I convert movie clip to symbol, the screen comes up white when I test project. When I break the symbol into components, screen still appears white. Even erasing the graphic instance or the componentes still causes the screen to come up white. Only solution I've found is using undo.
Has anyone else experienced this? Converting to movie clip to symbol "whiting out" your project? I'm refraining from adding sample code just yet, because code is pretty bulky and not sure what or if it would be relevant. Wondering if there's s known cause of something like this that doesn't require me to post codeDon' try to use the same symbol as two different symbols types
-
Animated movie clips in button skin states
Hello to gurus out there,
i am trying to attach flash animated skins to my button in a Flex application. Can somebody help me?
Works fine but don't animate the movieclip (timeline animation) on up, over and down states.
Thnaks!
CSS file:
.flashButton
up-skin: Embed("/../libs/assets.swf#upSkin");
over-skin: Embed("/../libs/assets.swf#overSkin");
down-skin: Embed("/../libs/assets.swf#downSkin");
FlashButtonSkin
[other code]
<s:BitmapImage id="icon"
source="{hostComponent.getStyle('upSkin')}"
left="0" right="0" top="0" bottom="0" />
Main.mxml
<s:Button styleName="flashButton" skinClass="skins.FlashButtonSkin"/>flv's are video files, not movieclips.
they can be imported into your main (or, any other ) timeline but that's not recommended because of possible audio/video sync problems.
it's better to play your videos in an flvplayback component (window>component panel).
can you add an flvplayback component to your stage? if so, in the properties panel assign an instance name (eg, flv_pb). if you can do that successfully, open the actions panel (window>actions) and paste,
flv_pb.source = "thenameofyourflvfile.flv"; //<- use the correct path/name. if you save your fla and flv in the same directory and use the default publish settings, no path is needed.
and test. any problem?
if not, you're one step away from completing your project. if yes, what problem? -
Play animation (movie clip) randomly as3
Hello,
Could anyone out there tell me what as3 code i should be using to make this happen.
I want the animation (shooting star) to play at random times.
Many thanks indeed.
Damienon the last frame of your movieclip attach:
stop();
this.dispatchEvent(new Event("finished"));
right click your movieclip in the library, click linkage, tick export for actionscript and assign a class (eg, Starmove).
you can then use:
var minTime:uint = 1000;
var maxTime:uint = 3000;
var timer:Timer=new Timer(timeF(),0);
timer.addEventListener(TimerEvent.TIMER,starF);
timer.start();
function starF(e:TimerEvent){
var star:Starmove=new Starmove();
addChild(star);
star.x = Math.floor(Math.random()(stage.stageWidth-star.width)); // these two will probably need adjustment
star.y = Math.floor(Math.random()(stage.stageHeight-star.height)); // ditto
star.addEventListener("finished",removeStarF);
timer.delay = timeF();
function removeStarF(e:Event){
removeChild(e.currentTarget);
e.currentTarget.removeEventListener("finished",removeStarF);
e.currentTarget=null;
function timeF():uint{
return minTime+Math.floor(Math.random()*(maxTime-minTime)); -
How can I convert many .png's to graphic symbols at once in Flash CS6?
So, just as the subject says, how do I convert a ton (like over 2,000) .pngs quickly and easily to graphic symbols?
I really dont want to have to drag each one to the stage, hit f8, and name it, for each one.
I understand that, back in the CS3 days (im using CS6), it would autonatically generate them when you imported them to the library, is there a setting that I can turn on to have this happen?
Thank you for your time,
ObsidnSelect the directory with your pngs in it.
Right-click>Browse with Adobe Bridge
Select your pngs
Tools>Photoshop>Load to photoshop layers (not sure how many layers this can handle--you may wind up having to do this in batches)
Save your new psd
In Flash, create a new symbol with a blank timeline
Ctrl-R, navigate to the psd you made earlier
Select all the Photoshop layers
Check "create MovieClips for these layers."
Convert layers to keyframes or flash layers (not important, since you probaby don't need to keep this symbol)
OK
You'll have Movie Clips, not Graphic Symbols, but maybe you can write or find a JSFL to convert them and then you can block select them, click the Properties button, and change the type from MovieClip to Graphc. -
Pause & Play Animation When i'm using movie clips- filters
Pause & Play Animation When i am using movie clips-
filters
Graphic and movieclips are using for my animation
When i Press the pause the movieclip animation not stopped.
Any way to apply the filters on graphic
I want to apply the filters for particular graphics or movie
clips. with navigational button working.
Please help me.
Thanks
S.Satheesh KumarAudio on the timeline, especially stream, tends to play very reliably. Is this project under any NDA or can you provide a FLA to examine? Let me know if you want to private message it and I'll shoot you a message.
What version of Flash Player are you targeting and is this AS2 or AS3? -
Movie clips inside an animated movieclip
Hello- I have been trying to get movieclip buttons inside an
action script animated movie clip to work and have no luck doing
so. The inside movieclips act as if they dont have over or out
states; but when i comment out the animation, they work fine...
here is my code- (Please note im am a newbe at action script so any
suggestions on improving current code will be greatly appreciated)
stop();
import mx.transitions.Tween;
import mx.transitions.easing.*;
function upFunction() {
var xPosT:Tween = new Tween(kText, "_x", Strong.easeOut,
kText._x, 400, 1, true);
function downFunction() {
var xPosT:Tween = new Tween(kText, "_x", Strong.easeOut,
kText._x, 200, 1, true);
kText.btn.onRelease = function():Void {
_root.play();
kText.onRollOver = function():Void {
upFunction();
kText.useHandCursor = false;
kText.onRollOut = function():Void {
downFunction();
kText is the animated movieclip, btn is the button inside
kText
Thanks!if you define any mouse handlers for a parent movieclip (like
kText) it will intercept all mouse events so child movieclips (like
kText.btn) do not see the mouse events.
to remedy define all mouse handlers for shapes (converted to
movieclips), buttons and movieclips on kText's timeline or use a
loop with hitTest one the parent or child -
Making movie clips play in reverse in AS 3.0
Hey all. I'm changing all my files to AS 3.0 because of some
new elements I'd like to use in flash CS4.
Here:
http://www.iaw-atlanta.com/IvyLeague1-13-09.html
I have the menu navigation at the bottom with 4 buttons. When the
buttons are moused over they ascend and when they are moused out
the movie plays in reverse so that they descend. Basically in the
movie clip, I have it stopped as well as gotoAndPlay the next frame
when the button is moused over and then have a script telling it to
reverse when moused out. I know how to do this in AS 2.0 but how
can I translate the script to 3.0?DjPhantasy5,
> Ok thanks, I'll see what he also has to say as well.
Actually, NedWebs pretty much nailed it. :) The approach
you've taken
is an interesting one, because it scales all the way back to
Flash Player 5,
which didn't yet support the MovieClip.onEnterFrame event.
Without that
event, you need something like your "controller" symbol -- a
separate
looping timeline -- to perform code that depends on frame
loops.
Available as of Flash Player 6, that event would allow you
to
consolidate your code a bit by putting it all in a single
frame and avoiding
the extra movie clip symbol. That doesn't mean your approach
is wrong, by
any stretch. In fact, it's good to know your options, because
if you ever
need to publish to Flash Player 5, you'll probably do best to
use the setup
you've taken.
I'll demonstrate onEnterFrame in just a bit, in case you
want to take a
look at that.
>> there's no _root reference in AS3, but you can use a
>> MovieClip(this.parent) (which replaces what _parent
>> used to do) to locate something outside of the
immediate
>> movieclip.
The term "parent," in this context, is technically a
property of the
MovieClip class, which means all movie clips in AS3 have
access to the
"parent" feature, which points to the timeline that contains
the movie clip
in question. Buttons also feature a "parent" property. In
AS2, this
property acted exactly the same, only it was preceeded by an
underscore.
In fact, NedWebs' suggested code works the same in your
existin file.
Instead of this:
// Your existing code ...
if (_root.animation._currentframe>1) {
_root.animation.prevFrame();
this.gotoAndPlay(2)
if (_root.animation._currentframe<=1) {
this.gotoAndStop(1);
... you could be using this:
// Alternative code ...
if (_parent.animation._currentframe>1) {
_parent.animation.prevFrame();
gotoAndPlay(2)
if (_parent.animation._currentframe<=1) {
gotoAndStop(1);
... because from this scope -- that is, from this point of
view -- the
MovieClip._parent property points to the same timeline that
_root does.
That changes, of course, based on how deeply nested the
current scope is.
The term "this" in the above code is optional, because Flash
understands
what scope you're in. From the point of view of this code,
_parent is
understood to refer to the current scope's parent timeline,
just like
gotoAndPlay() is understood to refer to the current scope's
own timeline.
You could precede either of those by "this" or not.
Many people will argue that _root is probably best avoided,
only because
it's a slippery slope. It doesn't always refer to the main
timeline you
think it does, depending on whether or not your SWF is loaded
into another
SWF at runtime. Meanwhile, _parent *always* refers to the
immediately
parent timeline.
So when you look at it that way, this perfectly valid AS2:
if (_parent.animation._currentframe>1) {
... isn't much different at all from its AS3 counterpart:
if (MovieClip(parent).animation.currentFrame>1) {
It would be nicer if you didn't need to cast the parent
reference as a
movie clip here, but if you don't, AS3 doesn't realize that
the scope in
question is a movie clip.
>> You can string them along as...
>> MovieClip(this.parent.parent)
Exactly.
>> Your _currentframe in the the controller becomes
>> currentFrame. That's about it. The rest of what I
>> saw will fly as is.
Not quite. AS3 doesn't support the on() or onClipEvent()
functions, so
you won't be able to attach your code direction to the
button. Instead,
you'll have to put it in a keyframe -- which you can also do
with AS2. It's
a good idea, in any case, because it allows you to put all
your code in one
place, making it easier to find.
Here's a quick note on direct attachment:
http://www.quip.net/blog/2006/flash/museum-pieces-on-and-onclipevent
To convert your existing FLA structure to AS3, you might,
for example,
do this:
animation.buttonMode = true;
animation.addEventListener(MouseEvent.ROLL_OUT, outHandler);
animation.addEventListener(MouseEvent.ROLL_OVER,
overHandler);
function outHandler(evt:MouseEvent):void {
controller.gotoAndPlay(2);
function overHandler(evt:MouseEvent):void {
controller.gotoAndPlay(4);
That takes care of the on(rollout) and on(rollover) code in
your current
version. The first line (buttonMode) is only necessary
because I got rid of
the button symbol and, instead, associated the event handlers
directly with
your animation clip. (Movie clips handle button-style events,
too, so you
don't need the button.) In AS3, event handling is very
straightforward:
you reference the object (here, animation), invoke its
inherited
addEventListener() method, then pass in two parameters: a)
the event to
listen for, and b) the function to perform when that event
occurs.
You can see that spelled out above. In AS2, there are quite
a few ways
to handle events, including on()/onClipEvent(), so it's
harder to know when
to use what approach. For buttons and movie clips, the
princple works the
same as I just showed, but the syntax is different.
Let's take a quick look at reducing all this code by using
the
onEnterFrame event. First, check out this AS2 version:
animation.onRollOut = outHandler;
animation.onRollOver = overHandler;
function outHandler():Void {
this.onEnterFrame = reversePlay;
function overHandler():Void {
this.onEnterFrame = null;
this.play();
function reversePlay():Void {
this.prevFrame();
All of that code would appear in frame 1. You don't need the
controller
movie clip. The animation clip no longer contains an orb
button, because
we're using animation itself as the "button". (You can always
see what
functionality any object has by looking up its class. If
you're dealing
with a movie clip, look up the MovieClip class. See the
Properties heading
to find out what characteristics the object has, see Methods
to find out
what the object can do, and see Events to find out what the
object can react
to.)
In the above code, it's all laid out pretty easily. This is
AS2,
remember. We have two events we're listening for:
MovieClip.onRollOut and
MovieClip.onRollOver. Those events are established for the
animation movie
clip by way of its instance name, and associated with
corresponding custom
functions. The outHandler() function associates yet another
function to the
MovieClip.onEnterFrame event of the animation clip. Very
simply, it
instructs animation to perform the custom reversePlay()
function every time
it encounters an onEnterFrame event. The overHandler()
function kills that
association by nulling it out, and telling animation to play,
via the
MovieClip.play() method. Finally, the reversePlay() function
simply invokes
MovieClip.prevFrame() on the animation clip.
Here's the AS3 version:
animation.buttonMode = true;
animation.addEventListener(MouseEvent.ROLL_OUT, outHandler);
animation.addEventListener(MouseEvent.ROLL_OVER,
overHandler);
function outHandler(evt:MouseEvent):void {
animation.addEventListener(Event.ENTER_FRAME, reversePlay);
function overHandler(evt:MouseEvent):void {
animation.removeEventListener(Event.ENTER_FRAME,
reversePlay);
animation.play();
function reversePlay(evt:Event):void {
evt.target.prevFrame();
It looks wordier, but if you look carefully, you'll see that
it's
essentially the same thing. The main difference is the way
scope works in
AS3. In AS2, there are numerous references to "this", because
the event
handler functions operate in the same scope as the object to
which the
association is made. In AS3, the references aren't to "this",
but rather to
the same animation clip by its *intance name*, because in
AS3, the scope
operates in the same timeline in which the code appears
(namely, in this
case, the main timeline).
In the reversePlay() function, in order to emulate a "this"
sort of
setup, I'm referring to the parameter that gets passed to all
event handler
functions in AS3. I happened to name it "evt" (for event),
but you can call
it what you like. In the case of reversePlay(), the evt
parameter refers to
an instance of the Event class, which has a target property.
The target
property refers to the object that dispatched the event --
happens to be
animation, in this case. So evt.target, in this context,
refers to
animation, which is what I invoke the MovieClip.prevFrame()
method on.
I've uploaded a handful of FLA files to my server. I won't
keep them
there forever ... maybe a couple weeks, as of this post:
http://www.quip.net/RewindTestAS3.fla
http://www.quip.net/RewindTestAS3_new.fla
http://www.quip.net/RewindTestAS2_new.fla
David Stiller
Co-author, ActionScript 3.0 Quick Reference Guide
http://tinyurl.com/2s28a5
"Luck is the residue of good design." -
Common Libraries are only showing up graphic symbols, nothing else
I've created my own common library but when i retrieve it from the common libraries drop down, the library only contains graphic symbols even though there are movie clips, bitmaps and folders in the master file. If I open up the library by importing an external library it does show all symbols.
To create my own common library: I created a flash file containing graphic, movie clips and bitmap symbols and then copied it into the user-level libraries folder on my hard drive. It does show up in the common library drop down but the library doesn't show all symbols.
So do common libaries only show graphic symbols? and if not then am i doing something wrong?
Thanks.Hi,
What version of Flash do you use?
Rafiq -
Converting an image sequence to a Movie Clip - Flash CC
Hi Everyone,
Hopefully I am just doing this wrong.
I have a sequence of images I want to convert to a movie clip symbol.
This is what I'm doing:
I select all the frames in the timeline and hit f8 & choose movie clip as the symbol type.
When I drop the newly created symbol back on the stage it only contains the very last frame
of the animation.
Is this just not possible?You can do this. Here are the steps:
1. Select desired frames
2. Copy frames
3. Create movie clip symbol
4. Paste frames into movie clip symbol
If this is something you do frequently, there are extensions that streamline this process.
Edit: Here's a link to the extension "New Anim Clip". It's about a third the way down the page.
http://www.toonmonkey.com/extensions.html -
Cursor stops movie clip buttons
I have animated movie clips as buttons. When the animation
reaches the point where the cursor sits on the button it vanishes.
Here is the script I have on the main time line:
//news_mc is the instance name of my movie clip button
news_mc.addEventListener(MouseEvent.CLICK, newsPage);
news_mc.addEventListener(MouseEvent.MOUSE_OVER, newsRollOn);
news_mc.addEventListener(MouseEvent.MOUSE_OUT, newsRollOff);
news_mc.buttonMode = true;
function newsRollOn(event:MouseEvent):void {
news_mc.gotoAndPlay("in");
function newsRollOff(event:MouseEvent):void {
news_mc.gotoAndPlay("out");
function newsPage(event:MouseEvent):void {
gotoAndStop("news");
I know there is something about
news_mc.mask = ??? I'm not sure if I sure what part of the
mask I use. I have a layer that has the button background (instance
name - background) and then the 2 layers that form the animated
mask - the mask layer contains a copy of the button background
(instance name - background2) and then the animated later of the
mask contains a gradient that slides over the button (instance name
- masker).
What is happening?ROLL_OVER and ROLL_OUT rather than mouse_over and _out did
the trick! -
Accessing movie clip from flash swf file
I have the situation where in flash i created a simple
animated movie clip with few stop() commands on timeline. Movie
clip consists of simple animatio played on roll over and on roll
out which is controlled using actionscript. I loaded movie clip
into flash using [embed] tag but actionscript code is stripped,
there is no stop() action so movie clip loops continously. I guess
that's normal behaviour for embedded flash swf files but i would
like to know is there a way to still achieve that? Can i load swf
some other way with its actionscript and then control movie clip
from flex?You need the FLA's to open in Flash.
You could download the free trial of a flash decompiler
(www.sothink.com). The free trial won't give you actionscript, but
it will give you all of the art in the swf. -
Movie Clip VS. Animated Graphic
What is the difference between an animated graphic and a
movie clip? Why would you use one over the other?
Thanks.quote:
Originally posted by:
dzedward
if you're using the Tween class, listen for onMotionFinish
(as2) or MOTION_FINISH (as3) to start the tween over.
no, my movie clip was animated by using for loop. What I want
to do is no matter where I put my movie clip, it will contnuously
move from left to right. -
Movie Clip in swf won't show animation in adobe premiere pro cs4
Hi, I am new to this forum and as well as a beginner user of adobe premiere pro cs4. I am recently making a animation using Adobe Flash CS5, I've been using movie clips symbol to create all the movement of the character, background and stuff. Unfortunately, swf movies exported from Adobe Flash CS5 do not show any animation at all in Adobe Premiere Pro CS4. I have to use movie clips symbol instead of graphic symbol because filters can be added to a movie clip symbol but not graphic symbol. Is there any way to help making the movie clip symbol to be shown in Adobe Premiere Pro CS4? Your help is much appreciated.
Check Flash help in the "video" section, specifically "moving content between" PR and FL. (I was looking at CS4, but it must be there in CS5 help as well.)
Your movie is to be watched on a TV? I would do this in After Effects. because you'll lose most of the flash functionality once you go to video anyway,
Maybe you are looking for
-
How can I change my Apple ID for iCloud on iPhone 5 with iOS7?
How can I change my Apple ID for iCloud on iPhone 5 with iOS7? When I updated to iOS7 it kept my old ID on some features and my new one on others. I was able to change my Apple ID on all apps except iCloud. I don't have the original email account I u
-
I have been using the computer for a while and previously successfully sycned. Now when I try to sync it says "This computer is no longer authorized for apps that are installed on the iPhone"my name". Would you like to authorize this computer for i
-
How can i get my upcoming calendar events to appear on the main screen of my 8900?
thanks, Tyson
-
Small Home Network.........
I have a AEBS serving up for my wife's i-Book wirelessly and an i-Mac thru the LAN off the AEBS .I would like to set-up my Dell and another PC slave thru a 5-port Linksys switch to recieve my Verizon DSL also. Could I send the DSL straight to the swi
-
I am calling a function from a SELECT statement. I want to call this function 3 times in the same select statement, to get 3 different levels in a hierarchy for a particular licence number. This function has a hierarchy query using a START WITH.. CON