Actionscript 3.0 :: HitTestPoint To Change Direction Of Moving Object?
Jan 5, 2011
I'm having a problem changing the direction of a movieclip using hitTestPoint. I have some balls on the screen that only move left, right, up and down. and pending the way they are moving they have to change direction. if they're moving right they have to change to up. left to down, up to right and down to left. I tried the following code for getting a ball moving moving right to change to up.
note: movingDir is just a string i use to keep track of how the ball is moving and is defined initially in another class.
I'm having a problem changing the direction of a movieclip using hitTestPoint. I have some balls on the screen that only move left, right, up and down. and pending the way they are moving they have to change direction. if they're moving right they have to change to up. left to down, up to right and down to left. I tried the following code for getting a ball moving moving right to change to up. note: movingDir is just a string i use to keep track of how the ball is moving and is defined initially in another class. here is a snippet from the ball class:
I'm trying to set up a script which would force an object to move through the stage until a particular point and than change direction. I wrote something like that:
onClipEvent (enterFrame) { moveUp = function () { this._y -= 1; if (this._y<-30) { this.onEnterFrame = moveDown; }}; moveDown = function () { this._y += 1; if (this._y>600) { this.onEnterFrame = moveUp; }}; this.onEnterFrame = moveUp; }
But it doesn't work. the object moves only one direction and does not change it.
i'm using the an actionscript for random movement that i found here... [URL] but my problem is that i need the object to flip horizontally depending on the direction it is moving... the object that is moving around is a bug, and i need it to face left if it's moving left or face right if it's moving right.
using trig, when moving an object based on its current rotation, how does one "detect" if the object is currently moving to its own left or right direction? example: right side up: left moves the car to its left, which is left. upside down(180 rotation): left moves it the car to its left, which is right. based on movement alone, how can i say its moving to its own oriented left or its right?
basically, I'm having trouble with the hitTestPoint method. As soon as I move the root of the swf, it no longer works as it should.To see what I mean, run this code:
I'm trying to create a boundary for a player object, controlled with arrow keys, in my game using the main stage's height and width. For example, one test point is at the top edge of the player object's bounding box so that when the player object's head touches the stage's top edge, the player can't move anymore to the north. The player object is manually instantiated to the center of the stage by using the Flash stage editor so it will start at the center before the program starts.The problem is that right at the start of the program, I can no longer move the player object up or down with the arrow keys but I can still move it left or right. The intention is to allow the player to move north until the player object's head touches the top edge of the main stage.[code]
I've followed a tutorial and everthing works fine but I'd like to use hit-tests instead of the intersect-code. change the code so it works just the same with hit-tests.I dont get the same result.
I'm moving a movie clip using actionscript (as2) instead of a motion tween (because I want to save file size). I have this code on the first frame of the main timeline ("stone" is the movieclip instance name) and it tells the movie clip how many pixels to move in the x direction: Code: xTargetstone = 600;
I have this code on the movie clip itself ("stone" is the mc instance name) to handle the actual moving of the movie clip: Code: onClipEvent (enterFrame) { xstone = getProperty(_root.stone, _x); movestone = _root.xTargetstone - xstone; setProperty(_root.stone, _x, xstone + (movestone/5)); }
The movement works fine, but the issue is that it starts out fast and then slows down over time (even though that amount of time is small). The result is that the movie clip seems to wiggle and vibrate before it stops. Is there a way for me to change the code so that it doesn't wiggle and vibrate? perhaps something with the math I'm just not totally understanding? I would like a nice consistent motion from start to finish, while being able to set the time it takes to move etc.
so i have a project where i will be making a website. I will be using flash to make it interactive and visually appealing. I found a website with a really cool entrance page,please view it he mouse moves, the background looks like its moving.
Could you take a look at this site , it's official web site of Coraline animated movie , is there any related article or tutorial to do such navigation technique [URL] If not i will try to explain , layers of movieclips are ordered in z direction when you move your mouse in x & y they move based on depth like semi 3d side walk games
I have recently been developing a sailing game and my boat turns with the arrow keys. On the turn i would like to keep the boat constantly moving forward in the direction it faces. What is the simplest way to do this?
(When i rotate the boat to the right/left, i want the boat to move that direction)
I am about to make a gallery where all the pictures are ligned up, in a vertical row collum.I wan to make the Movieclip move in the opposite direction of my mouse movement
Recently I was trying to use hitTestPoint with a nested movieclip against another non-nested one. Then if the nested movieclip was found to collide with the the registration point of the other movieclip (shapeFlag was set to true of course), the nested movieclip would move down by 1 pixel until it wasn't colliding.[code]What happens is that the while statement doesn't kick in until the registration point of obj3 is over obj2, but it doesn't break until obj3 is not over the bounding box of obj. Alternatively, if I change obj1.obj2.y to obj3.y it does stop at the correct spot.Actually I guess the problem isn't obj2 being nested in obj1, the problem still occurs when it's taken out of obj1.
I am instantiating the 'Target' object five times on the stage. This is happening, but only one object is able to have hitTestPoint performed on it. Can anyone help as to why this is happening?[code]
I have six objects which are on the stage when my game loads up. I have stored them in an array in my Document class. Occassionaly I run through this array and check if something has hit these objects and remove them if so. i don't actually remove them from the array though. I'm finding though that even after these objects have been removed from the stage, the hittestpoint still returns true when something crosses the area where these objects once where?! Doesn't the object have to be there for hitTestPoint to return true?
I'm still new to AS3, and I was wondering how to make an object point in the direction of another object and move towards it if they are a certain distance from one another. I haven't been able to find out how to do this from the Adobe devnet, so I thought I'd ask here.
Which one is more efficient? Or is there even a noticeable difference? I did tests of a circle moving closer to a square and stopping when hitTestPoint returns true. The square was at 0 and the circle was at 500. My first test I did using hitTestPoint the entire time, my second test I did by checking the distance (Pythagorean Theorem way) and if it's below 50 then check with hitTestPoint.
I compared the FPS of each test but they were the same at 30 FPS with 200 circles and at 11-12 FPS with 500 circles. I thought the first test would be slower because I was testing every pixel the entire time while the second test I was only calculating the distance for the most part before testing every pixel.
With mx:Box I can set the direction to be either "horizontal" or "vertical". I'd like to reverse the order of the components in the box though. For example:
I create a TLFTextField object at design time and need to change its direction at runtime, how this could be possible? the following code did not work and simply ignored: var myText:TLFTextField = MyText;myText.textFlow.direction = "rtl";
I want to change the dropdown driection of the calender of datefield.since my width of the application is small.and also i want to reduce the size of the datefield's calender control.
Is it possible to conditionally change the direction of a for loop in ActionScript? Example: for(if(condition){var x = 0; x<number; x++}else{var x=number; x>0; x--}){ //do something }
function moveStuff(){ if(Key.isDown(Key.DOWN)){ this._y += 5; } if(Key.isDown(Key.UP)){
[code]...
thats my basic Arrow key functions to move a movie clip lp_mc is my character in the left position so when left key is pressed it moves forwards but when right is presssed it moves backwards... i have a movieclip called rp_mc which is the same thing but facing the other way when right is pressed how do i swap the lp_mc for rp_mc so it changes direction?
i'm trying to animate a movie clip by subtracting from its y value and then when it reaches a negative value change direction and animate by adding to its y value until it's back to 0 and loop back and forth. what i have isn't working.
Code: function Bodyloop(e:Event):void{ var direction:Boolean; if(body.y > 0){
I'm developing a game atm, and I need some help on the mathematics/coding of colliding circles (and their change in x/y speed). What i need to know is how to calculate the direction and speed a circle has after colliding with a static (non-moving) circle. I know how to detect a collision between the two, but I'm not sure about the maths I need to give the circle the right speed and direction after the collision
If i do know how far away the two circle-points (in the middle of each) are to each other (in both x and y coords) would it be easy for me to find the new speed and direction of the large circle in the example above? I know that I somehow should use the angles to pretend the circle hits a flat "wall" (as it only hits one point), and then calculate the new speed/direction. My only problem is that I'm not sure how to decide the angle of this flat "wall" and how x and y speeds should change when colliding with a wall that is angled. Does anyone here have any insight, links or tips on how I can du this?
what i have is a circle image (for this purpose lets say it looks like a clock). For example: when you click 3 o'clock, the whole clock needs to rotate around with the 3 o'clock btn at the 6 o'clock position (with the pivot point in the centre). each of the 'time' positions (2 o'clock, 3 o'clock, 4 o'clock ...etc) needs to be a button and thus be able to rotate around to the 6 o'clock position.This would seem simple enough by just using a.rotate value or using tween movieclips...however the tricky part is:the actionscript needs to determine which way the clock turns (anti/clockwise), dependant on where the clicked time-btn's position is. it needs to be some sort of if statement that says:if (3'oclock-btn) is positioned between 0 degrees (being original 12'oclock position) and 180 degrees (original 6 o'clock position), then rotate clockwise to the 6 o'clock position. If the (3o'clock btn) is positioned between 180degrees and 259 degrees (12 o'clock position), rotate anti-clockwise to the 6'oclock position.