Groups | Blog | Home
all groups > macromedia flash sitedesign > september 2007 >

macromedia flash sitedesign : A couple of Flash questions


Lost in the North
9/3/2007 1:50:29 AM
I am totally new at flash and am very slowly learning and I am sure these are
basic questions. However, I do have a couple of questions (actually I have
many but will start with two ;-)
One is when I play my clip it keeps replaying over and over, even though I
think I have put "stop" at the end of it. I changed it under "properties" and
where is says "sync" I have put "stop". Should it be on "repeat" or "loop" or
am I completely in the wrong area to stop it?
Second question is that I have uploaded it to a site. My goal is to have it
play just once and then automatically open the next page of her site without
clicking on anything. Is there a way to do this?
Thank you so much for any help you can provide.
David Stiller
9/3/2007 9:30:42 AM
Lost in the North,

[quoted text, click to view]

What sort of clip are we talking about -- movie clip, audio clip, video
clip?

[quoted text, click to view]

Aha. What you're seeing there is called the Property inspector, which
is probably the single most flexible control panel on the screen. You'll
notice that the Property inspector changes as you select various objects on
the Stage: select a text field, and you'll find properties that relate to
text fields only; select a movie clip, those properties will change to
settings configurable for movie clips only; and so on.

The Sync property for audio clips determines how the audio plays as the
timeline's playhead encounters it during playback. A Sync setting of Event
means the full audio clip will load into memory as the playhead enters that
keyframe. Even if you tell the timeline itself to stop during the very next
timeline frame, the audio will continue until it runs out (and if you've
selected repeat or loop, it will repeat the number of times specified or
loop forever). A Sync setting of Stream means that the audio clip is locked
in-step with the timeline that contains it. If the full span of audio is 5
seconds, it might take 60 timeline frames to play it completely (assuming a
FLA framerate of 12fps, the default).

The Sync settings Start and Stop do start and stop audio files, but my
hunch is that your whole Flash movie (the SWF itself) is looping, and that
you're confusing that with the starting and stopping of merely the audio
portion. If you want the Flash movie to play through once and stop at the
end -- regardless of audio (which may have its own looping settings) -- put
a stop() function into a keyframe near or at the very end of your timeline.

Insert a keyframe at the end of your timeline, click inside the
keyframe, open the Actions panel (Window > Actions) and type stop(); in the
script pane. That's it.

[quoted text, click to view]

Sure thing. As the playhead moves along the timeline (this happens
internally, invisibly), the Stage itself updates visually and audibly in
response. It's not unlike a flip book: wherever your thumb happens to be
along the pages, that's the image showing. Programming, too, is triggred as
the playhead encounters keyframes. Instead of that stop() function in the
last keyframe of your main timeline, you could use the getURL() function
(assuming you're using ActionScript 1.0 or 2.0). If you're in Flash CS3 and
using ActionScript 3.0, you'd use the navigateToURL() function instead.

Look up either of those, as appropriate for the language at hand, in the
Help files (F1 key). You'll get example code that you can simply "lift" and
reuse. And if you get stuck, write back to this thread. ;)


David Stiller
Co-author, Foundation Flash CS3 for Designers
http://tinyurl.com/2k29mj
"Luck is the residue of good design."

David Stiller
9/3/2007 2:06:22 PM
Lost in the North,

[quoted text, click to view]

Thanks. :) Glad to hear it.


David Stiller
Contributor, How to Cheat in Flash CS3
http://tinyurl.com/2cp6na
"Luck is the residue of good design."

Lost in the North
9/3/2007 6:03:59 PM
Thank you so VERY VERY much!! That is a perfect explanation! I will go work on
it now and come back if I have any problems. I am sorry I was unclear about
the audio part but that is exactly what I am confusing. I was trying to
change that when I don't even have audio on the clip. Just meant I wanted my
video clip to play through once and either stop or move the the next page. I
am excited to go and try it, thanks again!
Lost in the North
9/4/2007 5:23:54 AM
O.K., well it sounded straight forward until I went to try it ;-) On a good
note I figured out some other fun thigns but unfortunately not this. I got
the stop function down but am having trouble with the navigateToURL() .
If I want to directly go to say a page named home.html do I need to type in
the whole http://www.mywebsite.com/home.html, just home.html or just home? Not
sure all it needs or if I am even on the right track. Am I just adding this to
the "windows", "actions" area? Do I just need this one line or is there more
to it? Do I need to add something to my html as well?
Sorry for the confusion!
David Stiller
9/4/2007 9:14:09 AM
Lost in the North,

[quoted text, click to view]

Chin up.

[quoted text, click to view]

You'll only be using navigateToURL() if you're using Flash CS3 and
ActionScript 3.0. What version of Flash are you using? What version of
ActionScript? Select File > Publish Settings > Flash tab to double-check.

[quoted text, click to view]

navigateToURL(), and its AS2/AS1 equivalent, getURL(), both work just
like anchor tags (<a>) in HTML. Use an absolute URL, like the above
(complete with http://) if you would in a traditional HTML document. Use a
relative URL (such as home.html) if you like ... it's up to you. The word
"home" on its own isn't a document, it's just a word, and Flash wouldn't
know what to do with it any more than a browser would. ;)

[quoted text, click to view]

Look along the top of the Flash authoring environment. You'll find a
file menu (File, Edit, View, Insert, Modify, etc.) ... near the end, one of
those choices is Window. Select Window, and you'll get a dropdown menu.
This menu allows you to show and hide the various panels involved in your
routine Flash work. The Actions panel is the thing that receives whatever
programming you choose to type in. Code is attached to the selected object.
In other words, if you select a keyframe in some timeline, the code will be
attached to that keyframe, and will be executed when the playhead hits that
frame on playback. Prior to ActionScript 3.0, it's possible to attach code
directly to certain objects like buttons and movie clip symbols, but the
syntax is a bit different if you go that route. (This is not the route
you'd go here, in any case.)

Here's a bit more detail on the direct-to-object approach, which is not
the current recommended best practice:

http://www.quip.net/blog/2006/flash/museum-pieces-on-and-onclipevent

[quoted text, click to view]

You'll just need the one line.

[quoted text, click to view]

Your one line tells Flash to let the browser know it needs to load a new
HTML document (home.html, in this case). Assuming that HTML document is a
valid, renderable document, your browser will open it just fine. That HTML
document may (or may not, at your discretion) contain further Flash content.


David Stiller
Co-author, Foundation Flash CS3 for Designers
http://tinyurl.com/2k29mj
"Luck is the residue of good design."

Lost in the North
9/5/2007 5:55:22 AM
o.k., you must just cringe when you get rookies! I have only been playing with
a flash a few days so it is all so new. I am running Flash CS3 program and my
clip is Flash 9, Actionscript 3.0 if that helps.
I have tried to put in:

navigateToURL(http://www.mywebsite.com/home.html);

into the action request. I must be really missing the picture here as I get
an error when I try to publish it.

"1084: Syntax error: expecting rightparen before colon."

I am assuming "rightparen" is right parenthesis? Tried that. I tried using
quotes around the url but that did not work either. Help, I am just not
grasping this. What am I missing? Thank you for your patience!
David Stiller
9/5/2007 1:48:50 PM
Lost in the North,

[quoted text, click to view]

Two things missing, there. Notice in the ActionScript 3.0 Language
Reference, for the navigateToURL() entry, that the first parameter is of
type URLRequest. The second parameter is of type String is is set to null.
In AS3, when a parameter like that is preset to some value (null or not),
that tells you that the parameter is optional, because it already has a
built-in value. So in this case, you don't need to supply a string for the
window parameter, but if you do, you'll have to quote the string, and it'll
be one of the for listed under the window section under the Parameters
heading ("_blank" to open in a new window, etc., just like normal HTML).

The first parameter, request, is not set to a built-in value, which
makes it a required parameter. That's the one you'll need to supply, at a
minimum, and it must be an instance of the URLRequest class. So ...

navigateToURL(new URLRequest());

That's your first step. If you look up the URLRequest class in the AS3
Language Reference, you'll see in the Public Methods section that the
URLRequest method -- the constructor, which is shown above) accepts an
optional String parameter. (String because of the :String and optional
because of the = null.) Obviously, you're going to have to supply an actual
value, because it makes no sense to send the browser to an undisclosed
location, so you're going to supply the url parameter even though it's
optional. It's a String, so you'll put it in quotes.

navigateToURL(new URLRequest("http://www.mywebsite.com/home.html"));

.... or ...

navigateToURL(new URLRequest("home.html"));

.... depending on your desire (or not) for an absolute address.

[quoted text, click to view]

Yeah. Unfortunately, the error messages don't always make intuitive
sense, though they usually do. In this case, the error message isn't
especially helpful.


David Stiller
Co-author, Foundation Flash CS3 for Designers
http://tinyurl.com/2k29mj
"Luck is the residue of good design."

Lost in the North
9/7/2007 5:05:58 AM
FINALLY figured it out! Thanks so much for all your help. I am sure I will
have a million more questions in the future but I will rest the brain cell (I
think there is only one sometimes) for now ;-)
Lost in the North
9/7/2007 5:20:07 PM
Sigh....O.K., I lied. I thought I had figured it out because it works on my
computer but when I had another person try it it does not work for them. I
double checked and it still works fine on mine.
So need input again. This is what I have put into my "action", do I need a
stop() in there as well to stop the movie from replaying (that is what it is
doing on the other person's computer, just replaying and not moving to the next
page). Anyways, here is what I had entered...

var url:URLRequest = new URLRequest("http://www.mywebsite.com/home.html");
navigateToURL(url, "_parent");
David Stiller
9/9/2007 6:56:09 PM
Lost in the North,

[quoted text, click to view]

That might just be it.

[quoted text, click to view]

Let's step through it. Remember, Flash animation operates on a
particular metaphor: a timeline metaphor. In principle, an imaginary
playhead runs along the timeline (and along the optional timelines of nested
movie clips) from beginning to end. As the playhead enters each frame, two
things occur: first any ActionScript encountered and executed; second, any
visuals (tweening, for example) are updated on the Stage.

In this case, the playhead enters a frame near (or at) the end of your
main timeline. It encounters two lines of ActionScript. First, it declares
an arbitrarily named variable, url, and sets it to some value. The value
happens to be an instance of the URLRequest class, whose constructor is fed
a string. That string represents a website URL.

Next, the navigateToURL() function is invoked and fed two parameters.
First, the website URL, which was just stored as an instance of URLRequest
and stored in the variable url. Second, the string "_parent", which
instructs the function to open its URL in the parent container of the HTML
document that contains this SWF.

In theory, that should indeed replace the current HTML document --
including this very SWF, since the SWF is *in* the document getting
replaced -- with the URL supplied. You could invoke the MovieClip.stop()
method, either like this ...

this.stop();
var url:URLRequest = new URLRequest("http://www.mywebsite.com/home.html");
navigateToURL(url, "_parent");

.... or like this ...

stop();
var url:URLRequest = new URLRequest("http://www.mywebsite.com/home.html");
navigateToURL(url, "_parent");

.... and that certainly would hurt anything, but it shouldn't be necessary.
You may as well try it, but I wonder if your user has some version of Flash
Player lower than 9? If your friend's computer has, say, Flash Player 8
installed, the visuals may very well show up, but the ActionScript 3.0 would
be ignored.

Have you checked into Geoff Stearns' free JavaScript app, SWFObject?
It's a tiny program that does (at least) two very useful things: a) lets
you ensure that your user has the minimum required version of Flash
Player -- you can provide default, alternate content for anyone who
doesn't -- and b) lets you sidestep the annoying "click to activate this
ActiveX control" message from recent versions of Internet Explorer.

http://www.adobe.com/devnet/flash/articles/swfobject.html


David Stiller
Co-author, Foundation Flash CS3 for Designers
http://tinyurl.com/2k29mj
"Luck is the residue of good design."

Lost in the North
9/14/2007 4:28:59 AM
lenrique21
9/29/2007 6:18:36 PM

The BEST way to create a Flash website is by going to
http://www.flashden.net?ref=luke

check it out!! Great files for 0.5 U$S!!!

AddThis Social Bookmark Button