ActionScript 2.0 :: HitTest Two Duplicate MovieClips?
Mar 15, 2009
I'm trying to hitTest two duplicate movies clips. One is a bullet and the other is an enemy. I have them properly duplicating, but I cannot figure out how to detect a collision between the two. I've trying everything I can think of, and so far I've only been able to get the hitTest working between the original enemy and the bullet duplicates.Here is the code for duplicating the enemy:
I am designing a flash game and I am having a bit of trouble with the Actionscripting, I wondered if you might be able to help me? I will try and explain how the game should function and I attach a JPG that shows the rough layout as well, hopefully from that you may be kind enough to point me in the right direction.
How it should function The idea is you have a glass that you control, left and right keyboard arrows control left and right movements and it only moves on the _x axis and the _y axis always stays at it's current value, this works fine and I have managed to add actionscript to the glass movieclip to do this, the movement also has gravity and friction which means the glass slides on a little even when you move to go the other way.
Using the Glass you need to collect falling object movieclips, there are two types, good and bad. When you catch the good it adds to your score and when you catch the bad it deducts from your score.
The falling objects need to be random and I have successfully managed to get 1 movieclip to fall by using actionscript code and also I have managed to set the _x position as random each time , the actionscript to do this has been applied to the falling object.
I was wondering how would i make a mc appear when a hittest takes place at the location of the hittest. What im trying to do it make a Mortal kombat game and i want when u say uppercut them the mc of blood appears at that hittests location. So is it possible for it to like detect where the hittest took place and duplicate the mc there?
Usually i know you would name each dupicalted movieclip sumthing like "movieclipname"+nextnumber But i was in this case hoping i could name em all "bullet" for the simplicity of hittesting using bullet1.duplicateMovieClip("bullet1", this.getNextHighestDepth(), {_x:bx, _y:by, xs:Xmov, ys:Ymov});
to duplicate
and
if(this.hitTest(_parent.bullet1)){ // is an onEnterFrame trace("wuuuuuuuuuu"); to c if anything is happening
nothing however happens, i am not ceeing the trace message.. Can i not have many movieclips named the same, or is there somethign else i need to consider
Im making a game in which you controll a turret and it spews out bullets like mad..Usually i know you would name each dupicalted movieclip sumthing like"movieclipname"+nextnumberBut i was in this case hoping i could name em all "bullet" for the simplicity of hittesting using
bullet1.duplicateMovieClip("bullet1", this.getNextHighestDepth(), {_x:bx, _y:by, xs:Xmov, ys:Ymov});to duplicate and
I'm creating a platform game, and I have those boxes which needs hitTests on all sides - including the bottom.I want my hit areas to have the same instance names. With that I mean, that I want only one instance name for all the bottom hits, one instance name for alle right hits - and so on. If it's possible. 'Cause else there will be so much actionScript code to write.I've been trying to simply make a normal hitTest on for example hitGround, and then place two movieclips with the instance name hitGround, but the hitTest function only works on the last added movieclip with that instance name.I have also been trying to look up some for each in-arrays, but I don't really get the meaning of how to use them.
I have a character, he stays in the center whilst the surroundings move instead (scrolling). There is a block and when you walk into it, I need it so you cannot walk through it or get stuck in it. Here is my code below but, its very buggy, this is obviously been done before and may be simple, once I learn it I wont need to ask again. Iv tried other things but they dont work.[code]
I've got some flash 2.0 code that is supposed to add 100 points after a hitTest.
Code: function onEnterFrame(){ connectA(); var strandID:Number function connectA(){ for (var i = 0; i < 100; i++) { if (this.hitTest(_root["A_" + i])) { this.strandID = i; _root.total = _root.total + 100; }}
The problem is that it adds 100 points 70 times per second (the frame rate). It's supposed to add 100 points and stop. Here's a little more info: the hitTest makes two movie clips move across the screen together. Maybe because they're constantly hitting as they move, I don't know.
i searched everywhere, i was not able to find a solutionmy xml menu implementation use a "main" Menu class. This class parse the xml file and create an aeeay of MenuItem class.MenuItem costructor is (stripped down version) something like this:Code:function MenuItem(name: String, url: String, parent_mc: MovieClip)parent_mc is a reference to the "container" MovieClip for Items (generally an emptymovieclip made by Menu class)
Does anyone know how to use hitTest with two movieclips so that it would detectthe collision of the visible part of the MC, not the **** bounding box???
I have 2 Movieclips, box and car, and I want them to bounce backwards 10 pixels when they hit. I have a little understanding of hit test but do not know how to make something happen when hit test occurs. And it would be great if you could make the movieclips "move" back 10 pixels instead of automatically jumping 10 pixels back.
NOTE: The following text is my problem and observations, if you afraid to read it all, my problem is easily guessable within the code go ahead and crack at it without my explanation :-p I'm having some trouble with using hitTest(); with movieclips within arrays. I wanted to build a function that checks the hitTest of Movieclips in arrays because the array is dynamic and it would run more efficient and faster this way.
As you may notice it doesn't check just the movieClip in the array, but a movieclip 2 scopes within it. I feel that this is my problem. I noticed in my debugger that that mc doesn't show up, but i put an onLoad event on it to trace its existence when loaded and it shows up fine. I wonder what I'm doing wrong.
I've created movieclips that duplicate and swap depths but I can't seem to get them to rotate. I want the mc to rotate when the rotate button is clicked. I have created a button file that executes the rotate function properly but I can't make it swap depths like the others. How can I get all of the functions into each object?
I'm currently trying to make a cross-hair shooter game with an additional onstage character so that you not only shoot the AI, but also dodge using the arrow keys. The problem is, I have a code saying that if the AI hits the player unload the player, the AI, and the AI duplicates. The player and the AI are unloaded, but the AI duplicates are not! I tried fiddling with the code but just can't get it to work.
I have yet another "I die-problem", not so drastic this time, though. I've only tried to solve it for two hours or so,it's killing me Well, as usual, I end up here, at the Kirupa forums.. and of course, l end up emptying the coffe-machine at work.. *runs for more espresso* It's an issue regarding the duplicateMovieClip function. I know how it works, and I know how to duplicate MovieClips using the function, however, I do have an issue figuring this out: Now, explained roughly:I have a MovieClip which contains yet another MovieClip. I want to duplicate both the MovieClip and it's child, but I want it to stay inside the parent MovieClip, just as the original MovieClip contained the original child.
i found this file a while back ("dynamic_rotation") and i would like to rewrite it to place all the code in the _root on it's own layer.the duplicated squares don't move.here is the original code on the mc:
that how can i duplicate a movieclip to as much numbers i want through out the stage using actionscript2. i have searched lots of posts in sites but i can't get it
I have a for-loop that creates instances / duplicates of a movie clip that works like a charm:
[Code]...
Then I position each instance- and I fill an array with the number ("pg"), because: I also have the option to switch to a different view and at that point I want / need the MoveClips to disappear. So I have a function tied to the switching that goes through a loop for all instances of the movieclip copies (using the array with the IDs from the example above) and remove them.
I was wondering how to have collision detection between two differente duplicated movie clips. For example, a duplicated bullet hits a duplicated bird, how do I make it so that it detects collision when the duplicated bullet(bullet+x) hits the duplicated bird(bird+x)?
I will have 5 type of buttons. Each type I will duplicate (+1) at some condition. Each button is sharing a same functions, just some difference in value and positions. Button type's name:bug1, bug5, bug10, bug20, bug50
- MOVIECLIP1, with more than 30 run-time drawing shapes that modify on enterframe. - and MOVIECLIP2, wich should contain an exact copy of MOVIECLIP1 drawed data.
The point is that MOVIECLIP2 will be as a "reflection" or "shadow" of movieclip1. I won't need to do any interaction with it, only apply filters. Is there anyway that this can be possible - rather than having to draw the same shapes twice on both movieclips?
how can I adjust the _x and _y area positioning of this set of duplicate movieclips? 710 x 143 are the dimensions I would like the duplicateMovieClip to take place, but it is not the positioning. How can I fix this?
I have a bunch of copies of the same MovieClip that are dynamically created I want them to be stopped when the swf first starts.When I click on one of them I want that particular one to play.I think that I've figured out how to play a single MovieClip with event.currentTarget.play(); but I am stuck on how to stop all the clips from the start.I thought I could just use a instanceName.stop(); in my for loop, but no go.[code]I'm an artist working on a piece where I am cataloging sound recordings from people (eventually recorded live from the site... but that's a battle that I'll deal with in phase 2 and after I have a bit more actionScripting under my belt).I just wanted to explain myself a bit since Kglad, Ned, and dmennenoh have helped me a bunch through the development of the project.If your interested you can check out some of my works on my website.I know,I need to update the site, but its more fun to work on new projects.
What Im trying to do is duplicate some main button movieClips for each <dept> node. When pressed these main buttons then show a second set of buttons for as many <menu> nodes there are. In the actionScript the displayMainButtons function is used to loop through the XML and display the Main buttons. With the other 2 display functions (displayFirstButton and displaySecondButton) Im displaying another button for each <menu> node. These too works just fine, but the problem with writing it this way is that I have to write another display function for as many <dept> nodes there are. Id like this to be written so it loops through it in one function so I can add as many <dept> nodes with as many <menu> nodes as I'd like without going back into the AS code to add more display functions. And as you can see, I had to do the same to delete the buttons.
I found the tutorial on duplicating movieclips, especially the line-by-line translation of the code. how to communicate with those clips�specifically to make them draggable and also to change the _rotation with Key.Right, Key.Left.
My problem is that when I click the letter movieclip it does create the duplicate as it should and it starts to drag the duplicate mc. However, when I release the clip it doesn't stop dragging? I realized that if I put onMouseUP event instead of onRelease it actually does stop dragging when I release the mouse. I would, however not like to use the onMouseUP event if possible.