ActionScript 3.0 :: Rotation Using The Tween Class?
Feb 1, 2010Quote:
import fl.transitions.Tween;
import fl.transitions.easing.*;
[code].....
Quote:
import fl.transitions.Tween;
import fl.transitions.easing.*;
[code].....
I am trying to use the Tween class to first rotate an object and then after the rotation is finished, use a new tween to move the object off the screen. Here is my code:
[Code]...
The trace runs, just as expected, right after the first Tween completes. But the second Tween doesn't work. What am I doing wrong?
I am very new to actionscript and I want to make an object rotate 360degrees. I could do it with keyframes, but I want the rotation to ease in. I _KNOW_ it's possible to set up the object to rotate with an ease using actionscript.
View 1 RepliesIs there a way to prevent a motion tween w/ rotation from dropping on the Y axis? Basically I used Free Transform to change the angle of a line, but it always lowers itself on the Y axis when I insert a motion tween in it.
View 1 RepliesI have set up a motion tween using the flash tween class to rotate an image 180 degrees. However, if I should want to work wit hthe image from that point (say click the button again and have it rotate another 180 degrees back to its original position) I can't. It will simply run the tween again because my function specifies to go from 0 to 180. How I can use the tween class to rotate this image 180 degrees on each button click?
Code is below:
import fl.transitions.*;
import fl.transitions.easing.*;
import fl.transitions.Tween;
rotation1_btn.addEventListener(MouseEvent.CLICK, rotateThePicture);
function rotateThePicture(event:MouseEvent) {
//IMG11_mc.rotation += 180;
var PicRotation:Tween= new Tween(IMG11_mc, "rotation", Strong.easeInOut, 0, 180, 5, true);
};
I'm using flash CS4 and I'm trying to create a motion tween with a rotation (several actually) and every once and a while Flash decides to screw up my tween and I don't know how to fix it. So i have an arm(symbol) with the rotation point set at the elbow... after I've already moved it and rotated it a few times without an issue, I try to rotate it about 20 degrees and all of the sudden my arm is randomly doing a 360 degree spin. I can't seem to fix this!
View 2 RepliesNow I am using the Tween Class to move some boxes in my movie, now I can move the first mc and then another mc after the first tween has finished with onMotionFinished but I was hoping someone could help with how do I start the second tween when the first mc has passed a certain _x coordinate. ie starting the second mc moving while the first tween is still moving.
View 1 RepliesIf i have a clip with a bunch of stuff inside it (on layers) like other clips, bitmaps, etc. and perform a tween on that clip (via tween class), the stuff inside the clip seems to alpha at different rates.
For instance, i have a clip with an empty movieclip which loads a bitmap image and on top of the bitmap image, i have a gradient feathered edge (.png) bitmap and on top of that I have some dynamic text (embedded fonts).
The bitmap is supposed to create a feathered edge on the photo but since they alpha at different rates, you always see the hard edge of the photo...
is there a solution like cacheAsBitmap which would let the whole clip alpha at once? If it's cacheAsBitmap, i must be using it incorrectly, b/c it's not working!
Am trying to use the Tween class to scale and move a movieclip. Now the movieclip is within the loader, so I need the motion to be controlled by the percentage loaded. Now the code to move the movieclip to its final position is:
var xscaletween:Tween = new Tween(mstone, "_xscale", Regular.easeOut, mstone._xscale, 220, 6, true);
But this is the final location, I want to be able to change the properties of xscaletween, yscaletween, xmovetween and ymovetween as per percentage loaded.As in, within this final boundary limit of the tween, I want, for example, xscaletween, to scale only till 140 till percentage hits 50. Is this possible?? If not is there a workaround?Or do I have to use new tweens within each percentage limit?
I am trying to understand the thinking behind motion tweening using AS3 (rather than doing it on the timeline).I am trying to create a simple platform game, and while this is simply a learning project, I have an movieclip instance on the stage, and using basic x+5 logic I can get the instance to move left and right on the stage accordingly.Trying to make the instance 'jump' is a bit trickier. This is the code I am using:
ActionScript Code:
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;[code].....
I thought this code would move the instance from it's current y-position and tween it to it's highest jump point. From here I planned to use a MOTION.FINISH event to tell it to tween back to it's original position.Something strage happens though, rather than tween from the current y position and move up, the instance instantly transforms it's position to y+100 and then tween back to the original position. So it kind of turns out that it is the second part of the jumping action that I want to create.
Is there any way to make a movie clip start at a given x and y point, and ends at another x and y point, in 90 seconds?m not getting a good result.The main problem is, I want the movie clip to travel along a straight line. And by this code below the "b" movie clips makes some curves.Heres what Ive done.
"p" is point movie clip
"b" is ball movie clip
fullTime = 90000;_currentTime = fullTime;oldTime = undefined;onEnterFrame = function () {if
[code]........
If you try to make a movie clip travel along a rectangle diagonal within 90 seconds, the movie clip makes some curves.
View 5 RepliesWhat I want to do is tween a number from lets say 0 to 50 using the Tween class. The below is an example of my tween but it wasn't working (*NOTE* i'm using TweenExtended but if you change the tween to Tween only it will be the same thing, i just have a habit of using the TweenExtended class):
[Code]...
I have a movieclip and when I do 3D rotation from Transform panel, It rotates perfect, center is in the middle of image, and when I apply mc.rotationY, rotation center is in left of the image, aren't 3D rotation from Transform panel and mc.rotationY from AS same? what's up?
View 2 RepliesI'm trying to do some augmented reality projects with flartoolkit . I can now put simple 3d objects on my marker and it works fine , but I wanna give my project some events that the user can interact with. I'm trying to trace the rotation of the marker. there's a container:DisplayObject3D which my application uses to add the 3d objects , I traced this :"trace(container.rotationZ)" but it's just returning 0 . I studied another AR application's source code and it was using the rotation of it's container object without problem .and I think I should mention that I'm using the exercise file of seb lee delisle papervision3d course from [URL]. anyone has any experience with flartoolkit? the main functions of my my code is as below:
[Code]...
Is it possible to have the child movieclip rotate separate of the rotation properties assigned to the parent? so ultimately giving the child element it's own axis?I've customized Lee Brimelows (gotoandlearn.com) 3D carousel to spin on the x axis to make it a vertical carousel. I've also rotated that by 45 degrees on the y axis to see all the items, and wrote a snippet of code to hide the left portion of the carousel. The entire carousel is contained within the 'container' movieclip, and inside of that are my carousel items (as seen below), with the larger item being the item in focus.
On rollover of the item in focus, I want to rotate it so it faces the viewer (as seen below),basically removing the 45 degree rotation applied to the container.The problem i'm running into is when you rotate the container (changing the rotationX of the container), the axis basically rotates with it, so when i rollover the next item 'in focus', the following happens..(in the example where it appears how it want it to, the carousel is at a rotationX of 0, so it works fine)
im using the tween class within a class and having trouble getting the .onMotionFinished of the tween to recognize or relate back to the scope of the class.so if i had
Code:
var t1:Tween = new Tween(myClip, "_alpha", None.easeNone, 0, 100, 1, true);
t1.onMotionFinished=function()
[code]......
Program A has a cannon that aims to line up with where-ever the mouse is pointing, in 360 degrees, and fires when the mouse is is clicked. Program B has an eye instead of a cannon that should in theory do similar functions when the capslock key is toggled, but instead only has a 90 degree range of motion from the Right of the eye toward the bottom (quadrant 4 only). Where did the ther 270 degrees of rotation disappear to?
[Code]...
i.m trying to create a 3d rotation much like the widely used carousel only the rotation i desire consist of four upright(90 degrees) movieclips resting on a slanted, 30 degree plane which rotate onEnterFrame or following a tween on a oval like path - then pause for a given number of seconds at the four movieclips positions equal in distance on the plane
function around() {
this._x = Math.cos(this.angle) * radiusX + centerX;
this._y = Math.sin(this.angle) * radiusY + centerY;
var s = this._y /(centerY+radiusY);
[code]....
Why isn't there the Z, rotation X and rotation Y fields in my motion editor panel?
View 1 RepliesI have a movie clip that is rotated when a button is clicked:
Quote:
mc_rightBtn.addEventListener(MouseEvent.CLICK, onRotateRight);
function onRotateRight(evt:MouseEvent):void {
var myTweenRotation:Tween = new Tween(mc_gallery, "rotation", Elastic.easeOut, 0, 90, 5, true);
}
The problem I have is that when the the right button (mc_rightBtn) is clicked again, the rotation starts from the original position. Ideally I would like the rotation to continue from its current position.
where's the tween class?
View 7 RepliesI've started using the Tween class as I find it to be a really quick way to create some smooth animations. However, what I would like to do is have a sequence of many different objects animating into the scene, but all using the Tween class.Now if they were all to animate in at the same time that would be fine - but what I would like to achieve is each object to animate in one at a time, so once 1 object has finished, the next one then animates in etc etc over until all 7 are animated in. I've read up a little on using continueTo etc but not sure how to get this to affect different mc's instead of self.
View 2 Repliesextending the tween class?
View 6 RepliesSo I'm actually doing something very simple here, but it's my first attempt at tweening things through code rather than on the timeline, so I'm pretty new at this. Basically I have a small image gallery, all the thumbnails are butted up against one another in a grid. When you roll over an image, the title should tween to reveal itself below the image. I have it set up so that both the image and title are in one movie clip, with the image on the top layer.
My code does work when you move your mouse slowly, however when you roll over and out really fast, the whole thing freaks out a little, and the titles don't tween back properly, they actually stay exposed even though they shouldn't. It looks like they kind of tween back, then pop out again, with out a tween. I linked to my current swf file so you can see for yourself. [URL].
Here is an example of my code which is iterated for every image.
MC.addEventListener(MouseEvent.ROLL_OVER,onMC);
MC.addEventListener(MouseEvent.ROLL_OUT,offMC);
var myTween:Tween;
MC.buttonMode = true;
function onMC(event:MouseEvent):void{
myTween = new Tween (MC.title,"y",Strong.easeOut,94.5,138,.65,true);
} function offMC(event:MouseEvent):void{
myTween = new Tween (MC.title,"y",Strong.easeIn,138,94.5,.35,true);
}
import fl.transitions.Tween;
import fl.transitions.easing.*;
var homemanTween:Tween = new Tween(homeman_mc, "x", Elastic.easeOut, 1000, 50, 3, true);//frist tween
var adobeTween:Tween = new Tween(adobe_mc, "alpha", Regular.easeOut, 0, 1, 3, true);//second tween
how can I animate the 2nd tween after 3 seconds when 1st tween stops.
I'm trying to animate the mc in my fla with the tween class (specifically have it fade from 0 to 100 transparency [left-to right] as it moves). I'm not really a coder and more animation-based. If I was to create a variable (say named "Transp", how would the rest of the declaration look in AS2?
View 2 RepliesI have a movie clip (box) with a text box embedded in it. I want it to expand and move to the middle of the stage when the user places the mousepointer over top of it. When the mouse is moved off I want the movie clip to return to its original position. My code almost works. The MOUSE_OUT works and returns the movieclip to its original position but the MOUSE_OVER causes the movie clip to bounce to the center of the stage, return to the original position and then bounce back to the center of the stage before coming to rest at the center location. I just want it to go directly to the center of the stage.
Also, if I have 25 movieclips like this, is there anyway that I can capture the xy coordinates of the current movieclip that is being clicked on so that I can use the same code for each movieclip to expand and move it to the center of the stage and return them to their original . I am assuming that I would have to capture the name of the current movieclip being clicked on, in a variable and capture the initial x and y coordinates in two other variables. Can I then use these variables in the following Tween statements? Not sure how to code it so that the statement will read the contents of these variables and use them as paramenters in this routine.
square1.addEventListener(MouseEvent.MOUSE_OVER,tex ter);
function texter(e:MouseEvent):voidn
{
new Tween(square1, "x", Regular.easeIn, square1.x, stage.stageWidth/2, 1, true);
[Code]....
It was supposed to be an easy code but i can't make it work until now.I want my intro texts to get scaled to a certain postion when clicked .So far this is what I have done,
var scaleTo:Number = 0.6;
var introTexts:Array = [...];
for(var i:int = 0;i<introTexts.length;i++){ introTexts[i].addEventListener(MouseEvent.CLICK, onintroClick);}
[code]....
Right now,this code doesn't do anything, I can trace out "click" but nothing happen. I tried out the first item from the array first to make sure the code is working. The x position I want is -15 and y is 300.
I am trying to move a movieclip down using Actionscript. Then when a user fires a back event [which is successfully firing] the movieclip is then required to go up again. The code is:
trace("fholder _y org: " + folioholdermc._y);
// THIS COMES OUT TO BE -601
var yDown1:Tween = new Tween(folioholdermc, "_y", Bounce.easeOut, -601, -449, 3, true);
trace("step 1 called");
trace("fholder _y down1: " + folioholdermc._y);
[Code] ......