ActionScript 2.0 :: Tracing The Rotation Of An Object
Mar 14, 2006
check out the attached file. Don't ask me why, but I need that yellow rectangle to follow that grey dot, which rotates around randomly... but see, if you place the dot to the center left of the grey rectangle, you see that the yellow rectangle screws up. I've deducted that this happens for this reason: to the left of the grey rectangle, the rotation value is 178... 179... 180... then it jumps to -180... -179... -178... (you can try this out using an onEnterFrame function and tracing the rotation of an object that follows the mouse).
Since the yellow rectangle follows the grey dot with an ease, it doesn't just do: rectangle._rotation = dot._rotation But instead: rectangle._rotation += Math.round((dot._rotation-this._rotation)/rotatespeed) Some of you guys should already be familiar with this kind of movement, but it's usually used to move objects smoothly. The bug here is that whenever that dot randomly jumps up into -180 from it's original position at below 180, it screws up the yellow rectangle.
I have some simple Sprites that I'm putting into an array. However, when I click on them I want to trace what their position is in the array. How do I go about doing that?
ActionScript Code: var myArray:Array = new Array(); var mySpriteOne:sprite = new Sprite(); mySpriteOne.graphics.beginFill(0x000000);
[Code]....
I want to add some mouse click listeners and then I want to trace the currentTarget's position in the array. I just have no idea what parameters to give the trace().
I'm just starting to learn about classes in actionscript, I am following along with Moocks book Actionscript for Flash MX and are trying to execute a trace on the properties of my ballclass but all I get is undefined. He is what I have in my actions panel.[code]
I have an array of objects. What I would like to do is get the last index of an object whose property equals a certain value. Ex: // this occurs on a mouse click var stockObj:Object = new Object(); stockObj.ID = "an_id"; stockObj.category = "a_category"; array.push(stockObj); //psuedo trace(array.lastIndexOf(stockObj.category=="a_category")); I would like this to trace the index of the object whose category property equals "a_category"
The author shows a function that is supposed to trace the contents of any display object. In his example file he has several nested movie clips on the stage and everything works just as it should, this is the code.
ActionScript Code: function showChildren(dispObj:DisplayObject):void { for (var i:uint = 0; i < dispObj.numChildren; i++) { var obj:DisplayObject = dispObj.getChildAt(i)
[code]....
The problem I am having is that when I open a new actionScript 3 .fla and try to recreate the nested movie clips and use the same code I get these errors:
ActionScript Code: line 3 1061: Call to a possibly undefined method getChildAt through a reference with static type flash.display:DisplayObject. var obj:DisplayObject = dispObj.getChildAt(i) line 2 1119: Access of possibly undefined property numChildren through a reference with static type flash.display:DisplayObject. for(var i:uint = 0; i < dispObj.numChildren; i++){
I have object in which I have rectangle on one layer and following code on another layer:
[Code]...
And Object(this).play() or checking for current frame doesn't work, nor tracing a value define outside the function. How shall I reffer to the movieclip that events is called from?
I'm using the WebServiceConnector in CS3 to load some XML. The trouble is, whenever I trace out the XML, all I get is "[object Object]". Here's the code I'm using:
I have a papervision camera of which turns using keyboard input, I have a radar of which I would like to orientate to direction when the camera turns.I have it all working apart from mapping my (camera) DisplayObject3D.rotationY to RadarInterface.rotation correctly.The camera (or any 3d object) works with values I'm finding hard:Clockwise: 0 to 89, 89 to 0, -0 to -89, -89 to -0 doing a complete 360.So if I were to turn 180 degrees I'd go from 0 to 90 and back down to 0 again.
I have an object, the center of the object I believe is the rotation point. When I click transform and edit the rotation properties on the right side to like 55 degrees then it works, it rotates from the point it's suppose to and looks great. The problem is when I use AS .rotation on the object, I have no idea where it's rotating from and it's going all over the freaking place. I assumed it would rotate from the same rotation point as the transform tool rotates the object from. I also assumed 0-360 was the options for rotation. What am I doing wrong? from the looks of it's odd rotation I can't even tell where it's centering.
I need to move between (rotated) object in flex along x, y, or z as an independent observer. The movement relative to x, y works ok, but when I go along the z axis, the observer behaves as it was apart of the xyz system of the objects and doesn't go straightforward to the object but in diagonal for example. Here is some tryout code
I would like to force objects to have the same rotation for images showed when mouse is rollover. Right now the images are shown relative to the rotation of the object the mouse is over.How do I force the rotation to make the mouse over image stay portrait?I have the same problem with the scale of the images. Right now the images are scaled relative to the objects the mouse is over...
I am completely new to AS and have been having a rough couple of days trying to figure this one out.
I'm having struggle creating a xy rotation - or an image "tilt" - on mouseover / mouse position on a movie clip (600 x 300). When the mouseover position is at the top left corner it should be rotated e.g. x = -50 and y = -50 (or "away from the mouse") and subsequently rotated x = 50 and y = 50 (still "away from the mouse") when the mouseover position is at the bottom right position.
Trying to use an enterFrame event in conjunction with two functions that combined I want to move my object (a square) from the right to the left side of the screen and rotate it AROUND THE CENTER.When I use the following functions individually, they both work fine:
Actionscript Code: //Centering function function rotCenter (ob:*, angleDegrees:Number, ptRotationPoint:Point) { var m:Matrix=ob.transform.matrix; m.tx -=
I have a movieclip moving on a path by means of a tween. At the starting point a (virtual) line on the movieclip is tangent to the path. Is there an easy way to automagically rotate the movieclip such that this line remains tangent to the path throughout the tween?
I experience some sort of a bug when trying to dynamically mask an object to which I have applied rotationY with an object which is also applied rotationY.
What I would like to have happen, is when the user drags arrow_mc, it will only rotate between 0 and 90 degrees. If you go above 90 degrees, and continue dragging, it will stop moving. The same would happen if you went below 0 degrees.Currently, the code below works, but you can go around in circles back and forth.Iwith figuring out how to constrain the drag rotation between specifid numbers, in degrees.
ActionScript Code: arrow_mc.onPress = function () { arrow_mc.onMouseMove = function () {
I have a script that rotates my character using left and right keys. I want the character to move forward to the direction he is pointing at when I press up key.How can I calculate the needed X and Y amounts from the rotation?
right now I have a code that rotates an object based on the position of it and the mouse. Thats all great but it sucks for a game, It is way too responsive. What I tried doing is making to rotation var:
[Code]...
after that I made rot2 the direct rotation between the object and the mouse: rot2 = Math.atan2(Ydiff, Xdiff) * 180/Math.PI; //(forgive me if this has spelling errors, as I am writing it //by hand right now) then I make rot effect the object: object.rotation = rot; now that the basics are set up I just need to make a code that compares rot2 and rot, if rot is less than rot2 it adds on to rot, if it is greater, then it will subtract.
(source at bottom) this all works well until you hit the most annoying part, the one i cant figure out how to fix.... basically there is a gap where the numbers go from 180 to -180, so the code flips out, reads this as it is supposed to, but this makes the object rotate a full 360 degrees around instead of just like 2 degrees to bridge the gap. If anyone has insight on this or thinks they might know what to do,
How can I get the X, Y, and rotation values, relative to the stage of a child of unknown number of parents?
What I am doing is: I have a 'stick' object, that creates a child 'stick', that creates a child 'stick', etc a random number of times.
The end stick then creates a leaf.
Each new stick rotates a little bit randomly.
As a result when my leaf falls off the final stick it flies off in a strange direction.
How can I get the leaf to fall down (eg y++ relative to stage)?
Alternatively I thought I could dispatch an event that has a leaf created at the stage level but then I really need to know what the X and Y co-ordinates of my final stick is realtive to the stage.
I feel dumb for asking this....but what is the best way to make an object rotate (counter-clockwise in this case) indefinitely? ENTER_FRAME listener that offsets the angle by a certain number of degrees per frame? more economical way?
the problem is that after I added random rotation (between -30 and 30 degrees), the corners of my rectangles are still sticking out of the stage at the end of the tween.
If I trace objects width and height after the rotation I get the new values but this still doesnt help me because I am tweening to that rotation.