Strange scale on movie clip
I have a MovieClip object (let's call it "Background") right
on my main stage, which is attached to a class in code. I am adding
several MovieClip objects as children of the Background object, but
positioning them is difficult because the Background object has its
transform matrix scaled.
The Background object goes from (x=5, y=5) to (x=795, y=595),
so it almost fills my 800x600 stage. But without me changing its
transform intentionally, its transform.matrix.a and .d are set to
2.2, which means that if I tell one of its children to go to x=100,
it goes to x=220.
Note that I haven't touched any members of the Background
class anywhere that I'm aware of.
Does anyone know why the transform's "a" and "d" members
would not be 1.0 to start with? This is making positioning a pain.
Thanks!
Also, the MovieClips that are children of the "Background"
MovieClip aren't clipping against it. If they move past the edge of
their parent, they draw right past its edges. Is there a way to
clip them?
Similar Messages
-
How can I call in swf file to movie clip?
Hi all ...
This is my first post for advise, although fairly conversant
with flash and as2.
I am developing a new full screen background style website
and have menu buttons contained within a movie clip (nav_c1) ...
this re-aligns to the top centre of a page when user scales the
browser window.
I then have the content area (centre_content) movie clip ...
this realigns to the centre of the page when a user scales the
browser window.
I have scripted the menu buttons to goto a labelled frame in
the main timeline but I need, when at the labelled frame, to be
able to call/load in an external swf file to play 'inside' the
centre_content movie clip?
for example:
If I click my news button the flash file moves to the frame
label news on the main timeline. This then shows a duplicate of the
moive clip 'centre_content' which is called 'centre_news'. I need
to be able to call/load an external news.swf, containing all the
animated news info, to sit and play 'within' the movie clip
'centre_news' ... so that it is effectively contained 'within' the
movie clip file but loaded in place from an external swf file.
Can anyone help please?
I can post a rough working example online if need be.
Many thanks
A puzzled Adrian
ps: I don't think I am needing to load the swf to a level 1
area as I have tried this and instead of the swf file being loaded
and contained within my movie clip file/area it instead seems to
sit fixed on the main timeline (ie: not contained within the movie
clip area).Thanks Sketchsta for you code. This looks like we're on the
right lines as I see what the code is trying to do.
Unfortunately though I can't seem to get this to work?
I created a new file to get rid of other scripting that was
going on and have placed a movie clip called centre_content onto
the main timeline in frame 1 ... then I have applied your script to
an actions frame above the movie clip also on frame 1. I change the
path_to_file line with my swf name (callin.swf) which is a 1 frame
flash file with some text on it ...
... but it doesn't bring in the callin.swf file ... it just
shows the centre_content clip.
Am i doing anything wrong?
I also tried putting the script onto the first frame inside
the centre_content movie clip but this doesn't appear to work
either.
Regarding the pre-loader ... can I simply build this into the
swf file that is being called in to the movie clip?
Thanks in advance for your support, it is much appreciated.
Adrian -
How to stop a slideshow and show another movie clip at the end?
Currently my slideshow is in a loop. At the end of last slideshow, I want to show another movie clip (End_mv) that's on another layer. How do I do that? My current scripts are below:
import fl.transitions.Tween;
import fl.transitions.easing.*;
//change scale on an image
var fadeTween:Tween;
//To slide in on X axis
var slideXTween:Tween;
//To slide in on Y axis
var slideYTween:Tween;
//To fade IN
var alphaTween:Tween;
//To get bigger on its X axis
var scaleXTween:Tween;
//To get bigger on its Y axis
var scaleYTween:Tween;
//var fadeTween:Tween;
//description place holder
var strDescrp:String;
//source place holder
var strSource:String;
//x poistion
var posX:Number;
//y position
var posY:Number;
//degree rotation
var degreeRot:Number;
// delay between slides
//const TIMER_DELAY:int = 5000;
var TIMER_DELAY:int = 5000;
// fade time between slides
const FADE_TIME:int = 3;
// reference to the current slider container
var currentContainer:Sprite;
// index of the current slide
var intCurrentSlide:int = -1;
// total slides
var intSlideCount:int;
// timer for switching slides
var slideTimer:Timer;
// slides holder
var sprContainer1:Sprite;
var sprContainer2:Sprite;
// slides loader
var slideLoader:Loader;
// url to slideshow xml
var strXMLPath:String = "lstHouse.xml";
// slideshow xml loader
var xmlLoader:URLLoader;
// slideshow xml
var xmlSlideshow:XML;
var txtField:TextField = new TextField();
var formatText:TextFormat = new TextFormat();
//start of sound section is for sound
var soundReq:URLRequest = new URLRequest("PaukenBrumfiel_AngelsOnHigh.mp3");
var sound:Sound = new Sound();
sound.load(soundReq);
sound.addEventListener(Event.COMPLETE, onComplete);
//end of sound section
function onComplete(event:Event):void
sound.play();
function init():void
// create new urlloader for xml file
xmlLoader = new URLLoader();
// add listener for complete event
xmlLoader.addEventListener(Event.COMPLETE, onXMLLoadComplete);
// load xml file
xmlLoader.load(new URLRequest(strXMLPath));
// create new timer with delay from constant
slideTimer = new Timer(TIMER_DELAY);
// add event listener for timer event
slideTimer.addEventListener(TimerEvent.TIMER, switchSlide);
// create 2 container sprite which will hold the slides and
// add them to the masked movieclip
sprContainer1 = new Sprite();
sprContainer2 = new Sprite();
mcSlideHolder.addChild(sprContainer1);
mcSlideHolder.addChild(sprContainer2);
// keep a reference of the container which is currently
// in the front
currentContainer = sprContainer2;
function onXMLLoadComplete(event:Event):void
// create new xml with the received data
xmlSlideshow = new XML(event.target.data);
// get total slide count
intSlideCount = xmlSlideshow..image.length();
// switch the first slide without a delay
switchSlide(null);
function fadeSlideIn(e:Event):void {
// add loaded slide from slide loader to the
// current container
currentContainer.addChild(slideLoader.content);
// clear preloader text
//mcInfo.lbl_loading.text = "";
// fade the current container in and start the slide timer
// when the tween is finished
//Tweener.addTween(currentContainer, {alpha:1, time:FADE_TIME, onComplete:function() { slideTimer.start(); }});
//strSource = xmlSlideshow.image[intCurrentSlide].@src;
fadeTween = new Tween(currentContainer, "alpha", Regular.easeInOut, 0, 1, 2, true)
//scale = new Tween(currentContainer, "alpha", Regular.easeInOut, 0, 1, 2, true)
slideTimer.start()
onComplete:function();
function switchSlide(e:Event):void
// check, if the timer is running (needed for the
// very first switch of the slide)
if(slideTimer.running)
slideTimer.stop();
// check if we have any slides left and increment
// current slide index
if(intCurrentSlide + 1 < intSlideCount)
intCurrentSlide++;
// if not, start slideshow from beginning
else
intCurrentSlide = 0;
// check which container is currently in the front and
// assign currentContainer to the one that's in the back with
// the old slide
if(currentContainer == sprContainer2)
currentContainer = sprContainer1;
else
currentContainer = sprContainer2;
// hide the old slide
currentContainer.alpha = 0;
// bring the old slide to the front
mcSlideHolder.swapChildren(sprContainer2, sprContainer1);
strDescrp = xmlSlideshow.image[intCurrentSlide].@desc;
//strSource = xmlSlideshow.image[intCurrentSlide].@src;
//txtField.border = true;
//txtField.x = 0;
//txtField.y = 600;
txtField.width = 855;
txtField.height = 200;
//txtField.background = true;
//txtField.backgroundColor = 0xEE9A00;
txtField.alpha = 20;
txtField.text = strDescrp;
formatText.align = TextFormatAlign.CENTER;
//txtField.autoSize = TextFieldAutoSize.LEFT;
formatText.color = 0x000;
formatText.size = 30;
txtField.x = 0;
txtField.y = 550;
posX = 0;
posY = 0;
degreeRot = 0;
// create a new loader for the slide
slideLoader = new Loader();
// add event listener when slide is loaded
slideLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fadeSlideIn);
// load the next slide
slideLoader.load(new URLRequest(xmlSlideshow.image[intCurrentSlide].@src));
addChild(txtField);
txtField.setTextFormat(formatText)
// init slideshow
init();I got this error:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/swapChildren()
at University_Advancement_Holiday_Greeting2012_fla::MainTimeline/switchSlide()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
And here's the code:
// import tweener
//import caurina.transitions.Tweener;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.display.MovieClip;
//change scale on an image
var fadeTween:Tween;
//To slide in on X axis
var slideXTween:Tween;
//To slide in on Y axis
var slideYTween:Tween;
//To fade IN
var alphaTween:Tween;
//To get bigger on its X axis
var scaleXTween:Tween;
//To get bigger on its Y axis
var scaleYTween:Tween;
//var fadeTween:Tween;
//description place holder
var strDescrp:String;
//source place holder
var strSource:String;
//x poistion
var posX:Number;
//y position
var posY:Number;
//degree rotation
var degreeRot:Number;
// delay between slides
//const TIMER_DELAY:int = 5000;
var TIMER_DELAY:int = 5000;
// fade time between slides
const FADE_TIME:int = 3;
// reference to the current slider container
var currentContainer:Sprite;
// index of the current slide
var intCurrentSlide:int = -1;
// total slides
var intSlideCount:int;
// timer for switching slides
var slideTimer:Timer;
// slides holder
var sprContainer1:Sprite;
var sprContainer2:Sprite;
// slides loader
var slideLoader:Loader;
// url to slideshow xml
var strXMLPath:String = "lstHouse.xml";
// slideshow xml loader
var xmlLoader:URLLoader;
// slideshow xml
var xmlSlideshow:XML;
var txtField:TextField = new TextField();
var formatText:TextFormat = new TextFormat();
//var myEnding:MovieClip = stage.getChildByName('End_mc') as MovieClip;
//start of sound section is for sound
var soundReq:URLRequest = new URLRequest("PaukenBrumfiel_AngelsOnHigh.mp3");
var sound:Sound = new Sound();
sound.load(soundReq);
sound.addEventListener(Event.COMPLETE, onComplete);
//end of sound section
function onComplete(event:Event):void
sound.play();
function init():void
//reference my movie clip "End_mc" oon the stage and turn its visibility off
MovieClip(getChildByName('End_mc')).visible = false;
// create new urlloader for xml file
xmlLoader = new URLLoader();
// add listener for complete event
xmlLoader.addEventListener(Event.COMPLETE, onXMLLoadComplete);
// load xml file
xmlLoader.load(new URLRequest(strXMLPath));
// create new timer with delay from constant
slideTimer = new Timer(TIMER_DELAY);
// add event listener for timer event
slideTimer.addEventListener(TimerEvent.TIMER, switchSlide);
// create 2 container sprite which will hold the slides and
// add them to the masked movieclip
sprContainer1 = new Sprite();
sprContainer2 = new Sprite();
mcSlideHolder.addChild(sprContainer1);
mcSlideHolder.addChild(sprContainer2);
// keep a reference of the container which is currently
// in the front
currentContainer = sprContainer2;
//function onXMLLoadComplete(e:Event):void
function onXMLLoadComplete(event:Event):void
// create new xml with the received data
xmlSlideshow = new XML(event.target.data);
// get total slide count
intSlideCount = xmlSlideshow..image.length();
// switch the first slide without a delay
switchSlide(null);
function fadeSlideIn(e:Event):void {
// add loaded slide from slide loader to the
// current container
currentContainer.addChild(slideLoader.content);
// clear preloader text
//mcInfo.lbl_loading.text = "";
// fade the current container in and start the slide timer
// when the tween is finished
//Tweener.addTween(currentContainer, {alpha:1, time:FADE_TIME, onComplete:function() { slideTimer.start(); }});
//strSource = xmlSlideshow.image[intCurrentSlide].@src;
fadeTween = new Tween(currentContainer, "alpha", Regular.easeInOut, 0, 1, 2, true)
//scale = new Tween(currentContainer, "alpha", Regular.easeInOut, 0, 1, 2, true)
slideTimer.start()
onComplete:function();
function switchSlide(e:Event):void
// check, if the timer is running (needed for the
// very first switch of the slide)
if(slideTimer.running)
slideTimer.stop();
// ADDED: Check if using sprContainer2 and at the last slide
//if ((currentContainer == sprContainer2) && (intCurrentSlide == intSlideCount))
trace("Current Slide: " + intCurrentSlide);
trace("SlideCount: " + intSlideCount);
if ((currentContainer == sprContainer2) && ((intCurrentSlide + 1) == intSlideCount))
// hide the slideshow (and other related elements, or remove them if desired)
//mcSlideHolder.visible = false;
// remove any clips directly inside slideshow (any timers/etc need to be stopped too)
while (mcSlideHolder.numChildren > 0)
mcSlideHolder.removeChildAt(0);
// I do see a var named 'sound' playing so you might want to:
//sound.stop();
//sound = null;
// etc any other slideshow-only elements to hide/remove..
// play your movie
MovieClip(getChildByName('End_mc')).visible = true;
MovieClip(getChildByName('End_mc')).play();
// check if we have any slides left and increment
// current slide index
if(intCurrentSlide + 1 < intSlideCount)
intCurrentSlide++;
// if not, start slideshow from beginning
else
intCurrentSlide = 0;
// check which container is currently in the front and
// assign currentContainer to the one that's in the back with
// the old slide
if(currentContainer == sprContainer2)
currentContainer = sprContainer1;
else
currentContainer = sprContainer2;
// hide the old slide
currentContainer.alpha = 0;
// bring the old slide to the front
mcSlideHolder.swapChildren(sprContainer2, sprContainer1);
strDescrp = xmlSlideshow.image[intCurrentSlide].@desc;
//strSource = xmlSlideshow.image[intCurrentSlide].@src;
//txtField.border = true;
//txtField.x = 0;
//txtField.y = 600;
txtField.width = 855;
txtField.height = 200;
//txtField.background = true;
//txtField.backgroundColor = 0xEE9A00;
txtField.alpha = 20;
txtField.text = strDescrp;
formatText.align = TextFormatAlign.CENTER;
//txtField.autoSize = TextFieldAutoSize.LEFT;
formatText.color = 0x000;
formatText.size = 30;
txtField.x = 0;
txtField.y = 550;
posX = 0;
posY = 0;
degreeRot = 0;
// create a new loader for the slide
slideLoader = new Loader();
// add event listener when slide is loaded
slideLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fadeSlideIn);
// add event listener for the progress
//slideLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
// load the next slide
slideLoader.load(new URLRequest(xmlSlideshow.image[intCurrentSlide].@src));
addChild(txtField);
txtField.setTextFormat(formatText)
// init slideshow
init(); -
Movie clips have wrong time when importing
I use to rename my images before importing to iPhoto. I copy them from my camera to a folder in the desktop, rename everything to my like using Adobe Bridge, and then I import them to iPhoto. That way the name of a file usually corresponds to the one in the internal Library (control-freak as I am). That said, I never mess with the Library.
But I'm having this problem all the time: After importing, all the image pictures are listed on the event accordingly to their correct date/time, but the movie clips are not. They always have an irregular variation in time, sometimes with a difference of several hours, that I have to change manually using iPhoto "adjust date/time" to have them sorted ok chronologically. The strange thing is: that EXIF data is correct in Bridge! I even use this to view/reference the correct time in Bridge, and change it on the movie file already imported in iPhoto.
Could this be a bug in iPhoto, or is there something wrong with my way of importing? Again, it happens only to the movie files, not the images.
Thanks.Thank you. I didn't know that.
But still, for me it's a common issue to have iPhoto reading a wrong "File Created" data on my imported movies, even though it seems to be OK on the original file. Does it ever happen to you, know about that issue? Sometimes I have ten or more movie clips in an event and it's a bit of a hassle to restore manually the correct time for each one.
Maybe it's Bridge fault, maybe it's iPhoto, maybe my workaround is the only answer to this "bug"?
Thanks again. -
Problem attaching external .jpgs to movie clips
Hi There,
I am not able to attach a file (.jpg) outside of flash to a
movieClip without it changing the scale of the image. Stepping
through with the debugger, its clear the image loads correctly til
it is applied to the movie clip, I assume with the attachBitmap
function. It scales it up a little more than 50% and I can't figure
out where that scale is coming from. It appears to scale up from
the upper left corner. We have checked to make sure all the
movieclips within our flash file are the exact same size as the
image files (150 X 150). Please see code example. Everything is
fine except for this. We tried using the matrix transformation to
down size the images but the quality was not acceptable even with
using smoothing and pixel snapping.
So, the basic question being, how do we use attachBitmap and
have it preserve the original size? Any ideas for how to get this
to work is greatly appreciated...
thanks,
Laurawell I'm afraid there are a few things that are not quite
right with the method here - however, the real problem is most
likely that the original image resolution is higher than 72 dpi -
it must be set at standard screen res or Flash will scale it up
uniformly to work at 72.
I think that you may have more success with something more
like this: -
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." -
How do I View Guides for Movie Clips in Relation to Entire Scene?
My boss purchased a flash animation from a company a few months ago that she now needs me to fix. The goal is to resize the animation to different dimensions for a new banner. I took the original file, brought up the document settings, and changed the size to the new one we need, and hit the "scale content" checkbox. The file I have after doing this is shown below; I have highlighted the shape I will be talking about in pink. Nothing is the correct size now so I am trying to resize them to fit the stage area. I am having trouble with the green shape that is highlighted Pink.
The person who originally made this file made that highlighted shape into a movie clip and then dropped it in to the main timeline. I was wondering if there was a way that I could see where that shape is in relation to the area of the entire stage and the other objects in the main timeline? Meaning if I am inside of the greenblock movie clip all I see is what is below:
With this view I cannot tell where that shape is in relation to everything else. I am hoping someone can tell me how to view the guides from my main file inside of this movie clip( I already have guides turned on), or any other way of seeing what size and where my shape is in relation to rest of the objects on the stage of my main file. I would take any option that would let me tweak the green shape inside of the movie clip and see in real time how it looks in relation to the rest of the items on the stage as I make changes.
Any suggestions on how to get perspective on where my movie clip is in relation to the stage and other objects on it would be greatly appreciated.
Sincerely,
TissalSomehow double clicking on your system seems to be connected to the command
fl.getDocumentDOM().enterEditMode('');//the view where you don`t see the rest of your stage
whereas normally it defaults to
fl.getDocumentDOM().enterEditMode('inPlace'); //the view where you can see everything els on stge alphablended
you can either create a shortcut to
edit>edit in place or alter the standard behaviour of your double click
or right click(Windows) or ctrl-click(MAc) the mc and choose Edit in Place -
Movie clip resize not working when image is loaded
Hello,
I'm having some strange luck in building an image slide
show. I load the image paths into an array from an XML
page and then step through the array elements w/ forward and
back buttons.
I have an empty image clip on the stage where I create an
empty movie clip inside each time a new image is loaded. I load the
image into the second movie clip like this:
[code]
_root.picsPage_mc.mc_pic_loader.mc_individual_pic_loader.unloadMovie();
_root.picsPage_mc.mc_pic_loader.createEmptyMovieClip(
'mc_individual_pic_loader', 1 );
_root.load_movie_and_stop(
_root.picsPage_mc.mc_pic_loader.mc_individual_pic_loader,
_root.photo_array[_root.photo_index].image,
_root.picsPage_mc.mc_pbar, 'regular_load');
[/code]
The load_movie_and_stop function is as follows:
[code]
function load_movie_and_stop( target_mc:MovieClip,
movie_clip_to_load:String, p_bar:MovieClip, action:String )
mc_loader._width = 0;
mc_slider_bar.mc_drag_pan._x = 0;
if( action != 'simple_load' )
p_bar._visible = true;
p_bar.bar._width = 0;
var mclListener:Object = new Object();
mclListener.onLoadStart = function( target_mc )
if( action != 'simple_load' && action !=
'regular_load' ){ target_mc.stop(); }
if( action == 'load_and_play' ){ target_mc.play(); }
mclListener.onLoadInit = function( target_mc )
_root.resize_movie_clip(target_mc, 160, 120, 250, 190);
if( action == 'load_and_stop' ){ target_mc.stop(); }
mclListener.onLoadProgress = function( target_mc )
if( action != 'simple_load' )
percentLoaded = Math.floor( (
target_mc.getBytesLoaded()/target_mc.getBytesTotal() )*100);
p_bar.bar._xscale = percentLoaded;
p_bar.txt_percent = percentLoaded + "% loaded.";
mclListener.onLoadComplete = function( target_mc ){
p_bar._visible = false; }
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.addListener(mclListener);
my_mcl.loadClip( movie_clip_to_load, target_mc );
}//___endFunc___
[/code]
After the image is loaded into the movie clip, I then resize
the image to be a specific width.
The image resizing is done w/ this function:
[code]
function resize_movie_clip(clip_loader_name:MovieClip,
max_width:Number, max_height:Number )
orig_width = clip_loader_name._width;
orig_height = clip_loader_name._height;
aspect_ratio = orig_width / orig_height;
if( (orig_width > max_width) || ( orig_height >
max_height ) ) // If either dimension is too big...
if( orig_width > orig_height ) // For wide images...
new_width = max_height;
new_height = new_width / aspect_ratio;
else if( orig_width < orig_height )
new_height = max_height;
new_width = new_height * aspect_ratio;
else if( orig_width == test_height )
new_width = max_width;
new_height = max_width;
else { trace( "Error reading image size."); return false; }
else { new_width = orig_width; new_height = orig_height; }
clip_loader_name._width = Math.round(new_width);
clip_loader_name._height = Math.round(new_height);
[/code]
Now, 98% of the time this works perfectly, but there is some
certain times where the image resizing is completely ignored and
the image gets loaded as it's normal size.
Can anyone see why the image sizing get's ignored in some
instance?
Thanks for any help,
ClemFound the solution that worked (used ._xscale and ._yscale
instead of ._width and ._height
[code]
function resize_movie_clip(clip_loader_name:MovieClip,
max_width:Number, max_height:Number, center_offset:Number )
if( (clip_loader_name._width > max_width) || (
clip_loader_name._height > max_height ) ) // If either dimension
is too big...
if( clip_loader_name._width > max_width )
_root.picsPage_mc.txt_test = "func if 1";
clip_loader_name._width = max_width;
clip_loader_name._yscale = clip_loader_name._xscale;
if( clip_loader_name._height > max_height )
_root.picsPage_mc.txt_test = "func if 2";
clip_loader_name._height = max_height;
clip_loader_name._xscale = clip_loader_name._yscale;
else { new_width = orig_width; new_height = orig_height; }
[/code] -
Attach movie clips using seperate functions
I'm having a little trouble with the following code. I'm
calling two functions: init() and inittwo() to attach some movie
clips to the stage. If I comment one of them out, the other works
fine and the movement is okay. But as it is, only the "cloud" movie
clips are being attached. I need for the clips in the "dreamarray"
to be attached, and then for the "clouds" to be attached with a
second function. I'm probably not going about this the right way,
but I could sure use some help!
It would also be cool if I could attach the dreams at set "x"
values instead of random distribution. I'm not sure how to set a
seperate x value for each item in the array being attached.
var numClouds:Number = 10;
var fl:Number = 250;
var gravity:Number = .5;
var vx:Number = 0;
var vy:Number = 0;
var vz:Number = 0;
var friction:Number = .97;
var vpX:Number = Stage.width / 2;
var vpY:Number = Stage.height / 2;
var vpY:Number = 400;
var dreamarray:Array = new Array();
dreamarray[0] = "dreamone";
dreamarray[1] = "dreamtwo";
dreamarray[2] = "dreamthree";
init();
inittwo();
function init() {
for (var i:Number = 0; i<dreamarray.length; i++) {
var dream:MovieClip = attachMovie(dreamarray
, "dreamarray" + i, i);
//var dream:MovieClip = attachMovie("dreamone", "dreamone" +
i, i);
dream.x = Math.random() * 1600 - 800;
dream.y = 50;
dream.z = Math.random() * 800;
//trace("functioncall");
//tree.x = Math.random() * 2000 - 1000;
//tree.y = 50;
//tree.z = Math.random() * 10000;
function inittwo() {
for (var j:Number = 0; j<numClouds; j++) {
var cloud:MovieClip = attachMovie("cloud", "cloud" + j, j);
//tree.x = 400;
cloud.x = Math.random() * 1600 - 800;
cloud.y = 50;
cloud.z = Math.random() * 800;
function onEnterFrame():Void {
if(Key.isDown(Key.UP))
vz -= 1;
else if(Key.isDown(Key.DOWN))
vz += 1;
if(Key.isDown(Key.LEFT))
vx += 1;
else if(Key.isDown(Key.RIGHT))
vx -= 1;
if(Key.isDown(Key.SPACE))
vy += 1;
vy -= gravity;
vx *= friction;
vy *= friction;
vz *= friction;
for (var i:Number=0;i<dreamarray.length;i++) {
//i think there is a error here
var dream:MovieClip = this["dreamarray" +i];
dream.x += vx;
dream.y += vy;
dream.z += vz;
if(dream.y < 200)
dream.y = 200;
vy = 0;
if (dream.z <= -fl) {
dream.z += 1000;
else if(dream.z > 1000 - fl)
dream.z -= 1000;
var scale:Number = fl / (fl + dream.z);
dream._xscale = dream._yscale = scale*100;
dream._x = vpX + dream.x * scale/2;
dream._y = vpY + dream.y * scale/2;
//dream._x = dream.x * scale/2;
dream._alpha = scale * 60 + 40;
dream.swapDepths(-dream.z);
for (var j:Number=0;j<numClouds;j++) {
var cloud:MovieClip = this["cloud" + j];
cloud.x += vx;
cloud.y += vy;
cloud.z += vz;
if(cloud.y < 50)
cloud.y = 50;
vy = 0;
if (cloud.z <= -fl) {
cloud.z += 500;
else if(cloud.z > 10000 - fl)
cloud.z -= 10000;
var scale:Number = fl / (fl + cloud.z);
cloud._xscale = cloud._yscale=scale*200;
cloud._x = vpX + cloud.x * scale;
cloud._y = vpY + cloud.y * scale;
cloud._alpha = scale * 60 + 40;
cloud.swapDepths(-cloud.z);Hi Ive just taken a very quick look at your code and Ive
noticed at least one or two mistakes.
you are calling:
init();
inittwo();
before the actual functions have been declared.
Flash works from top to bottom when actioning code so by
calling:
init();
inittwo();
bofore the function has been declared and this will do
nothing as it cannot find the functions to call as they have been
declared AFTER the function calls.
The best thing to do is put any calls right at the bottom and
then you will know everything is ready to be triggered. -
OK...here's my problem... I am making a portfolio site and I
have my thumbnails being created dynamically through XML...very
similar to the galleries example in the Sample and Tutorials. Only
problem is that I have multiple keyframes with different thumbnails
that need to be displyed through a different XML file. I got it to
work but the thumbnails from the first frame are still showing on
the second frame...How do I remove the dynamically created movie
clips?OK...here's the code...At thebottom of the document, I need
to remove the clips created on the next button. This is the same
code from the gallery sample file; I just added my own XML file.
stop();
import mx.transitions.*;
_global.thisX = 30;
_global.thisY = 70;
_global.stageWidth = 600;
_global.stageHeight = 400;
var gallery_xml:XML = new XML();
gallery_xml.ignoreWhite = true;
gallery_xml.onLoad = function(success:Boolean) {
try {
if (success) {
var images:Array = this.firstChild.childNodes;
var gallery_array:Array = new Array();
for (var i = 0; i<images.length; i++) {
gallery_array.push({src:images
.firstChild.nodeValue});
displayGallery(gallery_array);
} else {
throw new Error("Unable to parse XML");
} catch (e_err:Error) {
trace(e_err.message);
} finally {
delete this;
gallery_xml.load("gallery_practices2.xml");
function displayGallery(gallery_array:Array) {
var galleryLength:Number = gallery_array.length;
for (var i = 0; i<galleryLength; i++) {
var thisMC:MovieClip =
this.createEmptyMovieClip("image"+i+"_mc", i);
mcLoader_mcl.loadClip(gallery_array.src, thisMC);
preloaderMC = this.attachMovie("preloader_mc",
"preloader"+i+"_mc", 5000+i);
preloaderMC.bar_mc._xscale = 0;
preloaderMC.progress_txt.text = "0%";
thisMC._x = _global.thisX;
thisMC._y = _global.thisY;
preloaderMC._x = _global.thisX;
preloaderMC._y = _global.thisY+20;
if ((i+1)%5 == 0) {
_global.thisX = 20;
_global.thisY += 80;
} else {
_global.thisX += 80+20;
var mcLoader_mcl:MovieClipLoader = new MovieClipLoader();
var mclListener:Object = new Object();
mclListener.onLoadStart = function() {
mclListener.onLoadProgress = function(target_mc, loadedBytes,
totalBytes) {
var pctLoaded:Number =
Math.round(loadedBytes/totalBytes*100);
var preloaderMC =
target_mc._parent["preloader"+target_mc.getDepth()+"_mc"];
preloaderMC.bar_mc._xscale = pctLoaded;
preloaderMC.progress_txt.text = pctLoaded+"%";
mclListener.onLoadInit = function(evt:MovieClip) {
evt._parent["preloader"+evt.getDepth()+"_mc"].removeMovieClip();
var thisWidth:Number = evt._width;
var thisHeight:Number = evt._height;
var borderWidth:Number = 2;
var marginWidth:Number = 8;
evt.scale = 8;
evt.lineStyle(borderWidth, 0x000000, 100);
evt.beginFill(0xFFFFFF, 100);
evt.moveTo(-borderWidth-marginWidth,
-borderWidth-marginWidth);
evt.lineTo(thisWidth+borderWidth+marginWidth,
-borderWidth-marginWidth);
evt.lineTo(thisWidth+borderWidth+marginWidth,
thisHeight+borderWidth+marginWidth);
evt.lineTo(-borderWidth-marginWidth,
thisHeight+borderWidth+marginWidth);
evt.lineTo(-borderWidth-marginWidth,
-borderWidth-marginWidth);
evt.endFill();
evt._xscale = evt.scale;
evt._yscale = evt.scale;
evt._rotation = Math.round(Math.random()*-10)+5;
evt.onPress = function() {
this.startDrag();
this._xscale = 30;
this._yscale = 30;
this.origX = this._x;
this.origY = this._y;
this.origDepth = this.getDepth();
this.swapDepths(this._parent.getNextHighestDepth());
this._x = (_global.stageWidth-evt._width+30)/2;
this._y = (_global.stageHeight-evt._height+30)/2;
mx.transitions.TransitionManager.start(this,
{type:mx.transitions.Photo, direction:0, duration:1,
easing:mx.transitions.easing.Strong.easeOut, param1:empty,
param2:empty});
evt.onRelease = function() {
this.stopDrag();
this._xscale = this.scale;
this._yscale = this.scale;
this._x = this.origX;
this._y = this.origY;
evt.onReleaseOutside = evt.onRelease;
mcLoader_mcl.addListener(mclListener);
next_btn.onRelease= function() {
gotoAndStop(2);
back_btn.onRelease= function() {
gotoAndStop(1);
} -
Center movie clips dynamically, as3.0
Hi. I have seen this discussed both on Adobe Forums and other sites but I can't seem to make sense of the code supplied by what I have seen thus far.
I am trying to center display objects that are added to the stage at runtime dynamically through a basic drawing application.
the code is something like this:
1. add an event listener for the drawing event.
2. add the path you want to draw to a container movie clip on the stage.
3. add an enter-frame event listener to change the scale of the path randomly .... and this is the moment i want to change the default top,left registration point to the center,center of the path. each path has its own registration point as i can tell thus far but at this point the scale is happening from the top,left of the container rather than about the path's own self. and if it were to happen about the path i would have to get the bounds of the path and do some averaging to center the registration point.
unfortunately i don't know what the code looks like to achieve what i'm trying to get.
any help is appreciated. thanks in advance.Well if using the graphics.lineTo method is Bitmap data then that is what I'm using. But each call to the shape that I'm drawing is a new Shape(); . The second paragraph you wrote seems a bit daunting when viewing it in the abstract sense. Your first reply was a bit more concrete but I guess the first response didn't account for everything being in one container. Should I create a container2 Movie Clip and create that as a new box on a per-shape basis so that I have multiple container2 mc's in the following path:
container.container2[i].shape[i] where i would be an index (such that i++) though the code wouldn't be written exactly that way. ?
(To store localX,Y positions in an array or vector shouldn't be too hard but I would need to try it several times before I get it right). -
Mask works in movie clip, not in scene
I've created a movie clip with a mask that I'm using in a
main scene. The mask looks fine while editing/working the movie
clip, but does not show up in the scene.
The really strange thing is that it was working, but suddenly
now it won't show up in the scene any longer. I've tried replacing
it, making a new layer and bringing it in again. But nothing works.
Does anyone have an idea of why this would be?
Any help GREATLY appreciated!
dmscenes are nothing more than the main timeline divided.
Nothing different from one scene to the
other in terms of layer and frame functionality - sounds to
me like you simply dont have the mask
and masked layers locked in that scene.
~~~~~~~~~~~~~~~~
--> Adobe Certified Expert
--> www.mudbubble.com
--> www.keyframer.com
~~~~~~~~~~~~~~~~
dkmiles wrote:
> I've created a movie clip with a mask that I'm using in
a main scene. The mask
> looks fine while editing/working the movie clip, but
does not show up in the
> scene.
>
> The really strange thing is that it was working, but
suddenly now it won't
> show up in the scene any longer. I've tried replacing
it, making a new layer
> and bringing it in again. But nothing works.
>
> Does anyone have an idea of why this would be?
>
> Any help GREATLY appreciated!
>
> dm
> -
Misplaced Movie Clips in iPhoto Library
Hello
I'm hoping that you may be able to help me out with the following situation and advise me if I am on the right lines or need to stop and do something else! I have searched through the forum for similar problems and have tried to follow the suggestions found.
I fear something strange has happened, although I have been careful to heed the dire warnings about fiddling with things in the iPhoto Library folders. I include information which I think may be relevant.
Over a period of time (years!), I have imported a series of photos and 30 second video clips of music concerts from a Canon camera and they are sorted into Film Rolls. In some instances in order to remember which songs the video clips represent I have renamed the file - e.g. MVI_0052.AVI is now RTY MVI_0052.AVI. When clicking on the renamed file, it plays in QuickTime, but the name that displays at the top of the image is the original MVI_0052.AVI.
Q: Does renaming the file create a duplicate, or does it simply create a link from the renamed file to the original?
Q: Would it be better not to rename the files, but to use keywords to differentiate them? If I edit the renamed files and revert them to the original name will this help with the problem below or confuse things more?
Some of the video clips will not play when clicked on in the Film Roll; they seem to have converted from .avi to .jpeg.
If I do a search in spotlight on (for example) just the MVI_0052 tag, the original movie clip is usually found in the Movies list, often with the following location:
/Users/myname/Pictures/iPhoto Library/2001/01/01/Originals
I can drag this clip to the Desktop, Import it into iPhoto Library, move it into the correct roll, where it retains the MVI_0052 tag. So, I now have two copies of the clip in the appropriate roll. Whichever one I click on, both play as MVI_0052. Should I delete one from the film roll? If so, which one - the MVI_0052 I just dragged in or the renamed one RTY MVI_0052?
Incidentally, the 2001 folder is vast, contains 37.8 GB and seems to have been created in August 2006. The sub-folder /Users/myname/Pictures/iPhoto Library/2001/01/01 contains an assortment of files:
a) The majority are jpeg images of MVI files, e.g. MVI_0008.jpg; these show the jpeg icon against the file name until you click on it and then the picture (which seems to be a still of the MVI file) appears.
b) Within this folder there are just a few genuine MVI files, e.g. MVI-0008.AVI
c) There are also a few AVI files which have the QuickTime Player icon against the file name. These will also play when clicked on.
The file: /Users/myname/Pictures/iPhoto Library/2001/01/01/Originals contains only .AVI files and many of them.
Some of the movie files have simply disappeared. That is, they exist in the Film Roll, but nothing happens if I click on the file; a Spotlight search does not find them anywhere on the hard drive. I suspect these are lost forever and would be better deleted.
If anyone can tell me whether I am doing the right thing by dragging the .avi file from the spotlight finder location to the desktop and then importing it into the iPhoto Library again that would be really helpful. I fear it will take some time to work through all the film rolls and verify each movie clip, but I imagine this is the only way to find those that are retrievable.
I am wanting to move the iPhoto Library to a LaCie external hard drive and delete from my laptop, but before I do I think I need to sort this out. Apologies for such a long post, I have tried to give all the information that might be relevant.
Thanks for your time and interest.....and yes, I do know I should have backed it up along time ago; some lessons are learnt the painful way
JillThanks Terence for your swift response.
Terence Devlin wrote:
Q: Does renaming the file create a duplicate, or does it simply create a link from the renamed file to the original?
Did you rename the File? Or add a Title to it in iPhoto. It sounds like you added a title in iPhoto, and this does not rename the file. Renaming (or titling) a pic/movie does not create a duplicate - nor is there "a link to the Original". It's simply an entry in the iPhoto database. If you want to use the title as filename then you can do that using the Share -> Export command - it's one of the options there.
So, if you title a movie "RTY - Whatever", it shows in iPhoto as that, but when played in QT it's still just 'Whatever' as the filename hasn't changed.
You are right: I simply added a Title to it in iPhoto. Thanks for clearing this up...
When you import a movie it goes to the Originals Folder and iPhoto creates a jpeg of the first frame. This is used for the thumbnail.
If anyone can tell me whether I am doing the right thing by dragging the .avi file from the spotlight finder location to the desktop and then importing it into the iPhoto Library again that would be really helpful.
It's best to search the iPhoto Library Folder from iPhoto. Spotlight finds all the versions - thumbnail, preview jpeg and the Movie. This is not especially helpful and is a source of confusion.
I'm not sure what you achieve by dragging a movie out of iPhoto and then back into it?
The reason for this is that at some point I had to rebuild the library and since then some of the video clips will not play from iPhoto. I searched the forum and read the following from Lori DiLoreto and have been trying to follow this advice.
"The thumbnails (jpeg pointer files) were made by iPhoto when the movie files were imported.
I'll tell you what happened to me when I did a library rebuild. It messed up the link between the jpg point files and the movie files.
when the rebuild of the library was done I had the jpeg pointer files pointing to nothing. When those were double clicked in iPhoto nothing would happen.
i had to navigate through the iPhoto Library folder in the finder and find all my movie clips and drag them all to the desktop. Then I had to go through my library within iPhoto and delete all the jpeg pointer thumbnails that were pointing to nothing. It was a major pain."
So I have used Spotlight to see if the movie file still exists (within Spotlight I have the search grouped by "Kind" so it is easy to see which are the Movies). If it does, I have then dragged it to the desktop and reimported it. If I do this I have 2 representations of the video clip in the film roll - the one that originally would not play now does, the one I just imported also plays. However, I am not sure which it might be safe to delete.
My aim is to get this into a fit state to save onto an external hard drive, delete and start afresh. However, it is proving to be a challenge!
Thanks again for your help.
Jill -
IK Bone Tool and Movie clips/tranform bug?
In Flash, when you rotate a movieclip in the IDE, then
release, the movieclip will often (80% of the time) lose .1-.2% of
its scale. You can see the numbers changing in the transform
window. It will continue to decrease the more you rotate/release,
gradually shrinking.
For an IK armature (using the bone tool), which is pretty
much all about rotations, this is a major issue. A simple animation
of a human character waving can bring their forearm scale down from
100% to 92% by the end.
Aside from being visually noticeable (my arm is shrinking!)
the Armature itself seems to react badly, losing joint connections,
randomly displacing movieclips, and generally being unpredictable.
I can't tell to what extent the Armature bugginess is directly
caused by the gradual scale-creep -- but it's certainly not
helping.
The Armature in the Bone Tool is uneditable- editing the
position of a bone relative to another bone causes the other
movieclips in the skeleton to start inching in random directions.
Any suggestions? Any help for either the movieclip scaling or
Bone Tool problems would be appreciated.
Thanks!Unfortunately, I couldn't make Googolhertz's solution work with what I already put together. It wouldn't allow me to swap between authortime and runtime due to the presence of a graphic symbol, so I can't tell if swapping between the two modes has anything to do with the fix. However, after applying the aforementioned changes in the preferences menu of Flash, I rebuilt the armature from scratch. The bug seems to be taken care of.
I would venture to guess that using any graphic symbols or movie clips from a file prior to changing your preferences in an armature will still have the bug. It is only after they are converted/updated into a graphic symbol or movie clip after the preference settings change that the bug went away for me. IE Opening an old fla that was created before changing the settings and making an armature from those symbols would still have the bug, despite the preference settings change. However, opening the same file, but converting the pieces into graphic symbols or movie clips after changing the settings wouldn't have the bug. Thus, it seems that applying the change will not retroactively apply itself to current assets in a project, but only assets that are created after the preference settings change. -
Adding small photo in corner while movie clip is running
Hey,
This is my first time using Imovie 08' and I'm a little confused. What i'm trying to do is place a small .gif in the bottom left corner of a movie clip, almost like a title. I have tried placing the picture into the title, but that only supports fonts, not .jpeg or .gif files. When i try placing the picture over the selected clip itself, the picture just takes up the whole screen, covering up the existing clip. Help would be much appreciated.
BenWhen i try placing the picture over the selected clip itself, the picture just takes up the whole screen, covering up the existing clip.
Clips/pictures are automatically scaled for the project resolution and aspect selected that was user selected. You basically have two options:
1) You can create your image in a graphic application on a canvas of the same resolution and aspect ratio as your iMovie '08 project and in the location desired, export your image in an alpha-channel format (e.g. PNG), drop/add it to the project as a still frame sequence, reset the duration, and "clone" it as needed for continuous or periodic display.
2) If you want it displayed for the entire length of your video and you have QT Pro, I prefer to simply use the "Add to Selection & Scale" Edit option in QT Pro on the finished project export. (In this case you only need to create your image on a canvas large enough for the image at the approximate size you want it to display since you can independently scale and position the image anywhere within the display screen area.
Maybe you are looking for
-
Hi All, I am developing reports for web using Report 6i. When I use web wizard to create html output (option - Generate HTML stylesheet output now). Everything fine except there is gap (10-12 blank lines) between pages. I need your help in getting ri
-
I have downloaded both the 4.5G Adobe Creative Suite 6 package and the 1MB .exe unloader but when I try to open them I keep getting a "problem has occurred while extracting some files," message. That is followed by a "problem has occurred while extra
-
How to make a Poster Frame to Flash 8 Video
Hi to all, I want to make a poster frame (a simple jpg) to display before the FLV video plays. So first the user to click the play button or on this poster frame. The code below does exactly what I need, but it is in Flash CS4. How could I do the sam
-
Messages multiply when searching mail. Thx for your help!!
Hi friends! I got a RMBP (10.8.1.). When I search my mail, suddenly, they seem to multiply. I see the same mail 20-30 times, but it has been sent only once. See attached screenshot. Also, the search results are quite random. I already deleted the mai
-
SQL tuning for extremely slow query
Hi, We have a requirement to display sales data by month. The sales data should be summed based on groups. The whole query is dynamically generated so the WHERE clause as well as the GROUP BY columns will be dynamically generated. Please find below t