I'm making a game were parts of the level are randomly generated and move across the screen and while I have made it so all that works correctly I am having trouble running a hittest on them to allow for gravity. Below is the piece of code attached to the player movieclip that I think is causing the issue (shortened for sake of space)
Code: var spring:Number=.1; var frizione:Number=.98; var gravita:int=1; var limite:Number=stage.stageHeight; stage.frameRate=31; var colorsArray:Array = new Array(); [Code] .....
The Setup: For each movieclip the hittests a set of "target" movieclips an array is given a value. If mcIcon1 is dropped onto mcTarget1 the first number in the vacant array is given the value of one. The Issue: If I remove mcIcon1, for example, from the mcTarget1 movieclip I can't find a way of just removing the 1 from that array without the rest of the array numbers being reset.
I have this thing where orbs are supposed to stick together, so I put them all in an arrayand told them to stick together when they encounter another member of that array.However, they only stick in groups of up to four, and then the orbs begin to overlap and such.
I am trying to use the following code to simplify multiple Hittests using an Array, but the code won't work. Can anyone tell me why?
var blockArray:Array = new Array("block1", "block2", "block3"); player.addEventListener(Event.ENTER_FRAME, blockTest); function blockTest(evt:Event):void {
I was using hitTest to see when sunny (mc) would hit one of five objects I have in an array. But I had to use removeEventListener otherwise it would keep occurring. But now I can't "hit" the next object. Why doesn't the addeventListener work again?
stage.addEventListener(MouseEvent.CLICK, myClickReaction); // speeds ALONG NYPOTENUSEvar v:Number=5; var varObject:String; var i:Number; var arrayObjects:Array; [Code] .....
adding multiple childs to an array these childs are added using timer after a time interval.actually there two classes and child of both classes are added to stage one through timer as i described and other through keyboard event. now is it possible to do this if yes than how?? and is it possible to apply hittest object between these two array.
I've built an array of movieclips - all of them sitting static on the stage. I'm trying to trigger the clips to play as they are hit by an invisible/alpha 0 bar which sweeps across the stage... kind of like a mexican wave? I'm still a bit crappy with arrays - here's my code:
I've attached a zip with a few custom classes and a .FLA. Ignore the custom classes. I'm getting repeated "Error #1009: Cannot access a property or method of a null object reference. at Environment_fla::MainTimeline/hitTest()".
I understand that this error means I'm asking it to reference something that's no longer there. How better to hitTest many objects in an array. My game involves creating a bunch of balls that will fall into buckets. I need to keep track of how many touched the buckets, how many fell off the screen, and remove each accordingly.
Here is the code from my main FLA ActionScript Code: var ballTimer:Timer = new Timer(200); var changeTimer:Timer = new Timer(50000); ballTimer.addEventListener(TimerEvent.TIMER, throwBall, false, 0, true); ballTimer.start(); changeTimer.addEventListener(TimerEvent.TIMER, changeColor); changeTimer.start(); [Code] .....
I have a simple FOR loop which runs through an array of MC names, which runs fine, but I'm trying to use these names inside this array as hittest values. So, I have one MC, and the code in this MC runs through an array and checks for any collisions between it and the mc in the array.
For days now I have been trying to get this hit test to work and which ever way I try it, it always comes back to the same result. I get a hit on the last item I pushed into my array but none on the previous items I pushed in. Also if I put a .sort() on the array it only gives a hit on the last item of the array, no matter which one I push in.
The idea is that I want to drag and drop objects onto the stage, they may not overlap so I need a hit test on the objects so I can make them undroppable when the hit test is true.
This is the part I have for dragging the objects to the stage, and adding them to arrays for the hit test.
Code: private function onClickDragBuilding1ToGameField(e:MouseEvent):void{ building1Placeholder.x = mouseX-25; building1Placeholder.y = mouseY-25;
[Code]...
Now if I run this I can add the object to the stage just fine no errors or other issues but the hit test only works on the last object I added to the stage/array and not the previous object I added to the stage/array.
Sso I drag the first object to the stage. (no other object are available yet so nothing happens, this is as it should be) Then I drag a second object to the stage, this reacts to the first object and returns the hit test as true. (Also great and working as it should.) Then I drag a 3th object to the stage, this reacts to the 2nd object I dragged just fine and return a true value, but it does not react to the 1 object I dragged onto the stage. Then when I drag a 4th object to the stage it will react to the 3th object I added, but not the 1st ad 2nd object.
regarding adding multiple childs to an array these childs are added using timer after a time interval.actually there two classes and child of both classes are added to stage one through timer as i described and other through keyboard event. now is it possible to do this if yes than how?? and is it possible to apply hittest object between these two array.
I worked on a new Flash project, but I cant seem to find a good solution for how I want my objects to collide. In my project I have: a Ball(moving object) and a Floor(not moving).
The ball is positioned over the floor and drops onto the floor through the gravity that is applied with the code.
[Code]...
Is there a way to have a global gravity in flash AS3. In which you could choose what objects you want to be affected by it? Is there a way to have a block of code that separates moving from still objects and will not let any objects collide(not overlap)?
In my project I have: a Ball(moving object) and a Floor(not moving).The ball is positioned over the floor and drops onto the floor through the gravity that is applied with the code.
[code]....
First: the -23 in the code is what I don't like. Second: every single object that deals with collisions would need to be put into the if statement.Is there a way to have a global gravity in flash AS3. In which you could choose what objects you want to be affected by it?Is there a way to have a block of code that separates moving from still objects and will not let any objects collide(not overlap)?
i just would like to know how to create an "hitTest" script inside a movieclip that is actually part of that hitTest code?I mean... I have mc A, and mc B. and the current hitTest code im using (that is on the timeline) makes mc A, destroy mc B when collide with it... but there are many mc B on the stage (with the same instance name) so, when mc A collide with one mc B, it destroys ALL mc's B... but i want it to destroy only the mc B that he collides, not all the others... maybe an hitTest script inside a movieclip B would work (somethig like "if MC A hitTest ME = i die" (not all the others)).
In my project I have: a Ball(moving object) and a Floor(not moving).The ball is positioned over the floor and drops onto the floor through the gravity that is applied with the code.
Code: var gy:Number = 0; var gravity:Number = .2 function ballMovement(event:Event):void{
[code]....
First: the -23 in the code is what I don't like.
Second: every single object that deals with collisions would need to be put into the if statement.Is there a way to have a global gravity in flash AS3. In which you could choose what objects you want to be affected by it?Is there a way to have a block of code that separates moving from still objects and will not let any objects collide(not overlap)?
referring to Pom's tutorial on gravity (up and down), I was wondering how to alter the code to make it so that the object moved and bounced along the x-axis. I tried this:
Code: onClipEvent (load) { gravity = 2 ; // We get the time when the ball is released for the
I am using Box2d 2.02, and am having trouble with setting linear velocity of a body in 0 gravity. When I trace GetLinearVelocity() when left is pressed, it reports the correct vector (-20.0, 0.0) but the body does not move. It is a dynamic body.
Code: if (Key.isDown(Keyboard.LEFT)) { if (mover.IsSleeping()){ mover.WakeUp(); } mover.SetLinearVelocity(new b2Vec2( -20.0, 0.0)); }
I am creating a flash animation for my physics class. I am demestrating free fall. I know how to create a free fall object, but how would I make it so that the user can change the gravity?
check this code onClipEvent (load) { k = .2; damp = .9; grav = .1; } onClipEvent (enterFrame) { ax = (_root._xmouse-_x)*k; ay = (_root._ymouse-_y)*k; vx += ax; vy += ay; vy += grav; vx *= damp; vy *= damp; _x += vx; _y += vy; } tell me where am i going wrong??? cos after giving the code to mc its not responding in any terms except the drag and drop to the invisible button.
i have a game where fish fall out the sky and a penguin on ice skates has to catch them before the fish get to heavy for the ice, the ice cracks and the ice skating penguin falls into the water and freezes. I have all the code but cant work out how to set the random location along the Y axis for the fish to fall. I have a gravity script but cant work out how to include the random position for the fish. There are 30 fish and i want to be able to have one fish fall wait a half a second and have another fall and so on....until all 30 have been dropped...
I want to do gravity effect on a ball . I found some thing do this but I need to make the ball goes to the floor direction actually I want it to follow the sloping of the floor with the gravity effect .
I'm trying to find a way to do a cable in papervision(great white) that has the behavior(gravity and elasticity) like the following two links:url... Any clues as to how should I approach this?
I have a function that checks if 2 objects are touching OB1 and OB2, if they do touch it runs the rest of the collision code where OB1 is the character and OB2 is a tile that the player cannot pass through.
I came across an issue where i wanted sprites to be separate from the hitboxes but my collision code works by checking the height and width of an object (you guys know the drill).
So i have a Tile class with 2 parts to it, a bitmap and a movieClip.
So i have this setup(pseudocode):
Code: loop { function collision (ob1 , ob2[loop].movieclip) }
This should work right? But it ONLY works for the first object in the loop!
I've made a character, and used the bone tool to make it move in runtime.This works fine, but now I want to add gravity/physics, so I can throw my character and it lands on the ground like a real ragdoll. How do I do this in actionscript 3 ? And is it possible to do this within the fla (no class file).
i designed a ball that falls down in soft place and goes under the eart ...when we carry this ball uper ...ball goes more under the eart...i make this ball dragable and with varible speed=..... &...&...make this ball.but may metod its not good.and not works correctly.
how to set boundaries for the y coordinates of a falling box with gravity. i am using the gravity AS, and i could not find a specific tut for setting the floor boundary.