ActionScript 3.0 :: Enterframe StartDrag Not Working With RotationX?
Jun 10, 2009
I created a full flash template website loading external swf's.Lately, I managed to add a fake3D rotation with AS3 and CS4 to this global template with enterFrame.Problem : some of my external swf use a vertical scroller also using an enterframe function based on a startDrag bar with the x / y position of the mouse, the scroller dont work anymore.
I've created a flash card class in ActionScript that uses a tween to flip the card over the y-axis (i.e., by using rotationX). I also use the bounds property of startDrag so that, when you drag it, its movement is locked on the x-axis. (There's also a method for switching between dragging and flipping, but since that's not broken, there's no need to discuss it further).
Here's my problem. If I haven't yet flipped the flash card over, the card drags fine. If I flip the card over and don't use bounds in startDrag, it works fine. But if the bounds property is set and then I try and drag the flash card after it's been flipped, the movement goes all haywire. It basically jumps back and forth between the two ends of the bounds' rectangle.
Is there any way you can think of to solve this problem? Alternatively, is there any way to use sprites to limit movement? For example, would it be possible to place a pair of one-pixel-thick horizontal lines on the top and bottom side of the flash card, set their alpha to zero, and somehow stop the flash card from moving past the lines?
I have two movieclips that determine their frame number by a variable. The problem I'm having, though, is that the frame doesn't change when the variable changes. The original variables are determined in the main timeline (_root.item_slot1= 0;).The following code is contained in the item_slot1 movieClip:[code]So it starts off in frame 1. If I change the original variable to 1, then it will go to frame 2. However, the frame doesn't change when the variable changes, and I have a text box that shows the value of the variable, and it changes to 1 exactly when it's supposed to.I can't zip files, but I have the .fla at URL... if you can get it to download from there.
"Three-dimensional display objects follow the mouse and Sprite.startDrag() moves the object within the three-dimensional plane defined by the display object. Or, if the display object is a two-dimensional object and the child of a three-dimensional object, the two-dimensional object moves within the three dimensional plane defined by the three-dimensional parent object."
However, this does not seem to be the case. I have a 2D object which is the child of a 3D object, but startDrag will not work on the child. If I remove any tweens in code from the parent's rotationY then startDrag will work. If I have any reference to rotationY it will not work, even if it is set to 0.
I have a MovieClip with other MovieClips inside of it. On each of the MovieClips inside, I have added a MOUSE_DOWN event and in the handler, I call e.target.startDrag(false, null);
But it doesnt seem to work :/
I have traced out the target name. I have tried current target and traced out it's name. THey both trace correctly. The target is being reached and it is the corect target. But the startDrag function doesnt make the MovieClip draggable.
I'm trying to work with a movie clip that I am loading into my main SWF. When run alone the draggable rail works fine but once loaded into the actual main SWF it won't drag. I put an on EnterFrame on it so that when I click it reads out some data and that still works within the main swf. Is there some sort of restriction on what loaded content can do?
I have a movie clip that I want to drag, but it gives odd behavior. If I add the MC using:addchild(MC)it works fine. The problem occurs when I try to add it as a child of another MC:base.addchild(MC)When I do it like this the drag does not work (nothing happens). If I drag the parent, the child drags with it, but attempting to drag the child on its own does not work. The function used is:
function pickUp(event:MouseEvent):void { if (drawMode == NONE) { event.target.startDrag();
I created an full flash template website loading external swf.Lately, I managed to add a fake3D rotation with AS3 and CS4 to this global template with an enterFrame.some of my external swf use a vertical scroller also using an enterframe function base on the x / y position of the mouse, the scroller dont work anymore.Can't an enterframe swf loads another swf with enterframe function?
all of the other buttons on an external movie are workign but the volume slider is not...
when i load the external file (the mp3 player) it works fine.
Code: /* volumeStartDragging(event:MouseEvent):void * Returns a mathematical value that we can use to adjust the volume * the value is the relation of the volume ball to the line
i have an .as class that extends mx.containers.Canvas (it's a draggable border of a resizable component), it becomes draggable on MOUSE_DOWN and stops being draggable on MOUSE_UP, MOUSE_OUT and ROLL_OUT. before calling startDrag() i create a Rectangle to define the drag area, i also have a _dragging: Boolean variable to control if it's draggable at the moment. the problem is that when i click this border it jumps to a negative coordinate without calling startDrag or switching _dragging to true.
i've overriden get x, set x, get y, set y and move() methods in order to solve it but the only thing i got was the fact that position changes without calling coords setters or move(), but at the moment it's changed a getter is called and returns new (negative) value so my question is what happens on startDrag() and how to filter unwanted incoming coords values?
as you can see, I have a container MC which I have added to the stage. I set its drag constraints using a Rectangle(). I then add the 'cat' child movieclip to the container, and I want this to be dragable too. However, as soon as I click on my cat when testing the MC. It shoots to point x=0 y=0 on the stage and doesn't move.
The container MC can be moved without any trouble.
If I remove the rectangle bounds from the containers startdrag() function. both MC's can be dragged without any issue.
When I use 3D rotation tool, there is an option called global transform, if it turned off, the object would rotate by its own axes, this is exactly what I want. How can I do rotatation like that with AS3 code? Is there any property if changed then rotationX/Y/Z would rotate object by its axes?
I have to use Flash CS3, so I can't use the properties rotationX, roationY and rotationZ.I have a movieclip, that looks like this. It is now flat, no 3D rotation or shearing But what I want is that this movieclip has a rotationX, or that it is a bit in perspective like this: As I said, I can't use rotationX, so I have been playing around with Matrix. But I can not get it right.Here is how I try to do it
myMC.transform.matrix = new Matrix(1,0.15,0.35, 1, 0, 0);
And this is the result get the matrix right, or is there another way?
my_mc.rotationX = 50 does not work but my_mc.rotationX += 1 does, when inside an enterframe routine; I have also tried my_mc.transform.matrix3D.appendRotation( 50 , Vector3D.X_AXIS), but also does not work;
when you rotate fe. with greensocks engine on the X/Y/Z axis with text movieclips, the final state is never crisp with me.lets say your clip is at rotationX 30and tweens to 0 , in other words it starts at an angle and displays full frontal at ends. no matter what i try, the font has certain parts crips, certain parts blurryI've been spending this sunday with all different kind of fonts, embedding, textfields, fontsizes (as you know certain fonts have their "sweetspot" size, etc, etc, etc, it just doesn't get sharp after the rotation.Funny enough, when i trace out my rotation angle it says 0i even tried an onComplete event to force its properties to zero. but to no avail.
could make a bitmap data file from my text, but come on... why do they implement 3D while the results are off? Really would like to hear some tips here because i am tempting to go back at away3D. I was hoping with flash CS5 their 3D render for textfields would be alot better compared to "crash"Cs4Yep theres a slight annoyed undertone here. To me, it should be fundamental or at the very least, tweak-able like image resizing with "smoothing".
I'm encountering a weird phenomena. I have a multi nested display object structure. Some of the deeper display objects have MOUSE_CLICK events. But as soon as I set main display item container.rotationX = 5 then the mouse events don't work anymore.
I don't know if this would be more appropriate under the 3D forum but it could go either way. I'm having a problem: when I access the 3D rotation properties of a DisplayObject (specifically a MovieClip containing a Loader and some TextFields), it becomes bitmapped and loses its scalability. Is this supposed to happen, and is there a way to regain scalability after rotationX/Y/Z are set to 0.0?
What do scaleX, scaleY, rotationX, and rotationY do?I'd like to test it out myself but I'm completely new to Flash CS4 and I don't know how to control these values outside of ActionScript
i am playing around with the rotationX/Y/Z properties available in flashplayer since version 10. for testing purpose i created a cube and put canvas objects on three sides of it (top, front, bottom) and created a tween to get the values required for turing by 90 deg. turning the cube (a canvas) using rotationX = xx works well when the three side-canvas objects are small and filled with a not-to-complex element hierarchy. when using larger and more complex content it slows down. the next idea was to remove the canvas elements content and replace it by a snapshotimage of the content instead before starting the turn, after the turn is performed the original content is put back on the sides again.
this results in a good perfomance increase. using a tween the last step of rotation is done in the function that is called as the tweenEnd handler. in this function also the process of copying the canvases content back is performed. unfortunately this results in a short hang of the cube right in that last rotation step, the reason for which is that rotation and copying back takes place at the same time. so i could wait for some time after having called cube.rotationX = endValue by using a timer or setTimeout(func, 500), but this is ugly. so my question is: after having called cube.rotationX = endValue a period of time is required to calculate data for the rotation and do the rotation itself. is there a way to find out the point in time when the rotation has ended, so that then the copying can be started ?
I'm using(tweening) the rotationY and rotationX properties on movieclips a layer above a background, bitmap or video, in two respective projects. There is a flickering of the movieclips and some bizarre distortion going on. I can't seem to find anything on the web about this, -has anyone else encountered this problem? Is it a known bug? Is there a workaround?
Any smart people out there who can tell me why this function Im working on to automatically sort the depths of objects placed on the 3D plane is only working intermittently? It seems to work every second or third iteration?[code]Is getChildAt(i) reliable? IE does it return the same order each time it runs or is it based on depth? looking at the manual suggests that it's probably the latter so I guess I'll need to make my own array ordered by the time the sprites were added to the parent and work from there. Is there a better way?
I am trying to animated two images on axis with rotationX command. it's working when the picutre comes in 90 degree it gets overlapping. I am attaching the picture for your reference
When I change the rotation of a movie clip, and apply PerspectiveProjection, all mouse events applied to that movie clip and all the movie clips inside that movie clip break.The mouse event bellow will not work for me.
I have an image which I have converted to a movieClip, I have exported the movie clip as an AS class and have some code in the class which adds some text to the movieclip. What I want to do is rotate the movieclip around the y axis but I get the following error:
ActionScript Code: Error #1069: Property rotationX not found on classes.LargeCard
How can I rotate the movieclip without using the timeline?
I have programmed a little screensaver for trade event monitors to display throughou t the program.
I will be outputting this as a stand alone flash application, so am not worried about browsers etc. Essentially, all I need is when you click the application, it goes fullscreen automatically
i am moving from AS3 and Java to Expression Blend/WPF, but cant seem to figure out how to replicate EnterFrame event in C#, is there a update() or frameUpdate() function.
I have some stars in my flash file. I want them to dissappear when i get to the final frame. Can I delete the enterFrame? Then how do I make it re appear again?
I have a movie clip which I have set its rotationX property to -45. This gives the illusion of 3d. It is skinny in the back and fat in the front. I now want to add thumbnail clips on top, but can't figure out how to translate the original clip's x and y properties back to the 2d world.
I am working on an eLearning course whereas client requied the course to be keyboard accessible. He wants all the shortcuts with Alt key combination.I can trap the Alt key with the use of enterframe but that makes my course processing heavy so I tried to trap Alt key with keylistener event but unfortunately keylistener event doesn't listen Alt key .how to trap Alt key without using enterframe or interval?