ActionScript 2.0 :: Make E To HitTest F To Get Something Else Function But They Won't Work?
Sep 6, 2011
Lets say that I got movieclips A,B,C,D in my scene and E,F which only come into scene when A hitTest B and C hitTest D.I was able to make the A+B and C+D hitTest functioning properly. But when E,F came into the scene, I tried to make E to hitTest F to get something else function but they won't work.# note that there is some short animation before E & F come into scene.I am pretty sure all the instance names are named properly.
When you are dragging a movieClip on the stage, it generally works fine. But if you are performing some calculation or hitTest while you dragging, the location of the cursor and the movieClip starts to go unsynched. For example, in the following code, I am running an ENTER_FRAME handler while you drag a box, and this onEnterFrame_Box method contains a bogus for loop to slow down the process. The drag & drop works snappy if you comment out that for loop... But if you bump up that 100 to something like 200, Flash Player runs quite slow, and the location of the box won't match where your mouse cursor is...
ActionScript Code: var box:Sprite = new Sprite(); box.graphics.clear(); box.graphics.beginFill(0xCCCCCC, 1); box.graphics.lineStyle(1, 0x999999); box.graphics.drawRect(0, 0, 100, 100); [Code] .....
Is there a way to make the onMouseDown function also work within the MovieClips area in this code example? It seems like the two functions are conflicting.
Do I have to use a listener in order to make the onRelease function work? Right now it doesn't and I think it's because the png isn't loaded before the onRelease function is invoked.[code]
I am trying to create a game. My game is birds eye view game and I am trying to get it so my character (instance name hero_mc )can't pass through the buildings(instance name block_mc). I have been looking at tutorials on the web and most of them cover it so that a text appears if you hit the object whereas I want it so my character can't pass through or well is "push back", the one tutorial I found doesn't want to work for me, but it's not giving me any errors so I really don't know what is wrong with it.
Actionscript Code: hero_mc.addEventListener(Event.ENTER_FRAME, enter_frame); function enter_frame(event:Event):void{if (hero_mc.hitTestObject(block_mc)) { trace("hero _mc is next to block_mc") } else { hero_mc.y += 10 hero_mc.x += 10 } }
My character still passes through the block objects.
I have this very simple .fla file and you use the keys to move the bus around. As it detects the hittests with the other movie clips on the stage it goes to and plays a frame on that mc's movieclip. It all works fine but i dont want the hittest to repeat after it has done it once(on each movie clip) so that as you drive the bus around you reveal the photo. [URL]
Code: //The Austin Weisgrau (El Nacho) //Blob Game, to go with the video so it will get like the .3 mor it needs not to be blammed
[Code]....
the character instance is Blob and the background instance is Background. i can't get the hitTest to work with either of those two things in the /* */ and i need to no how i can
For some reason I cannot get my hitTest to work on an mc within an mc within an mc...which is assigned to a variable...
Code: var miniWin:MovieClip = CAD_mc_mini.zoomControl.miniWin; trace(miniWin); //returns _level0.CAD_mc_mini.zoomControl.miniWin var mouseListener: Object = new Object();
I was trying to make it so you had to hold up this ball, and if it touched the block near the bottom of the screen, it would go to the first keyframe. (The menu.) So, I labeled the ball, "ball", and the block, "block". Then, I added this code to the block:
onClipEvent (enterFrame) { if (ball.hitTest(block)){ gotoAndPlay(1)[code]....
And tested it out. To my dismay, it didn't work at all. I've spent about 30 minutes testing other ways, and I cant seem to make it work.
import flash.display.BitmapData; import flash.geom.Point; // var BitmapA:BitmapData = new BitmapData(550, 400, true, 0x00);
[code]....
This is using the bitmapdata.hittest way to check whether the one bitmap is overlapping the other. Throug pixel-to-pixel detection.But I'm having trouble understanding this line:
Code:
if (BitmapA.hitTest(destPoint, 255, BitmapB, currPoint, 255))
I know that destPoint is the topleft point from which it is determining all opaque pixels. No value is given to destPoint so basically it is checking from 0,0. Having determined all opaque pixels from that bitmap it should compare them with the opaque pixels of the other bitmap. But why does currPoint use the topleft coordinate of its movieclip? Couldn't it just as well use 0,0 too? I mean when determining the opaque pixels of bitmap two it might as well start checking for those from 0,0 as the topleft position as well?
i am making a game where a ninja runs through a course, every thing is running smoothly. EXCEPT hittest will not work, hittest never works on ANY of my projects. I know im doing it right, because ive even tried copying and pasting working ones. Look at the attached fla file to see what im talking about.is it my computer that wont let it work, because the exact codes worked for all of the people on youtube that used it.
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 am having trouble getting a hitTest to work. My two MCs are lines, one horizontal, one slanted. When the horizontal line gets within the "bounding box" of the slanted line the hitTest is true, but it's not touching the slanted line yet. I saw that the shapeFlag property comes into play here, but only when using coordinates... I'm not sure how to apply it to these two lines. I want the hitTest to be true only when the lines actually touch. I have attached a simple FLA of the problem.
I have this code so that when a spaceship goes through a blackhole it plays the spaceships moveiclip. This works fine on the first part of the code when the user just clicks the start button.However, i have put in a difficulty setting and when you change the difficulty setting the hittest doesn't work anymoreand there are no error messages. I have tried putting the blackHoles array in the difficulty function but nothing changes and i didn't really think this would make a difference as the easy function is already using the blackHoles array outside the difficulty function.
I have about 100 movieclips that scroll across the stage from out of bounds. They are supposed to hit another movieclip both in bounds and out of bounds, but it seems like Flash only detects the hittest when it happens within the frame.
So I'm doing this project for school and all, and I'm trying to do a htitest on an object. For some reason, it doesn't work. So I tried writing out my own method... Which halff worked, but wasn't as exact as it should've been.
Heres my code (Though I'm pretty sure somethings wrong with my MC, so i'll upload the main .fla file)
for some reason the hitTest I have setup in the attached file seems to work in relation with the blue box's that surround objects and not with the actually objects. Anyways I'm pretty sure that it has to do with the border.
I'm using Flash 8 (in case you need know what version I'm using).There's three flvs I have assigned a cuepoint, "complete". The goal is to make a graphic visible when "complete" cuepoint is detected, but this function seem doesn't work, any feedback on function?:
Code: var nc:NetConnection = new NetConnection(); nc.connect(null);[code]....
I can't seem to get the hitTest to work for my script shown below. I have tested using movieclips created on stage during design time and made to collide during run-time. hitTest works fine in this situation.
But if I use the attachmovie command and create a movie on stage during run-time, that clip cannot hitTest with other movieclips. The hitTest simply doesn't work.
The script below is basically, to create instances of enemymc, and it will fall vertically, hitting a movieclip target_mc which is placed during design-time.
var enemyTime:Number = 0; var enemyLimit:Number = 20; onEnterFrame = function() {
I want to make a hitTest functions that detects if a object is hitting any of several objects. Is there a way to do this? I thought I could do this with a array and for loop. But I think that will use to much CPU when this is loaded every frame. Is there any other way?
I know you use the HitTest function to check for collisions, but how would I do that the moment a movie clip is dynamically created. So the moment the clip is created it would check if it is overlapping another clip. Also, does it matter if the clips are at different depths?
Go to [URL]. My hitTest function only works on the y-axis. This is the code.... onClipEvent (enterFrame) { // _root.speed = speed; if (Key.isDown(Key.UP)) { speed += 3; } if (Key.isDown(Key.DOWN)) {
I've been using asGamer's excellent set of game design tutorials to put together a basic 'ship and enemies' shoot 'em style game - my first proper venture into using AS3 and external class files - and I've hit a problem with executing hit test results. To explain: The game uses Engine (the document class), Ship and Enemy classes. Enemies (new instances of the Enemy class) are added to the stage in the Engine class, where they are also stored in an array, enemyList. The Ship fires a Laser, and the Laser class is where we test for a hit on Enemies.
Now, in asGamer's original version he uses the hitTestObject to test for hits, and if a hit is registered, this line PHP Code: Engine.enemyList[i].takeHit(); Calls a function in the Enemy class to remove the relevany clip. However, as the hitTestObject includes the bounding box of a clip in its hit test, I decided to use Corey O'Neil's Collision Detection Kit for greater accuracy. The CDK CollisionList class returns an array, the each element of which is a clip with which the target object has collided.
The problem this presents is that rather than using PHP Code: Engine.enemyList[i].takeHit(); To deal with a collision, I now use PHP Code: collisions[j].object1.takeHit(); Where 'collisions[n].object1' are the movie clips hit.
When I test the game it throws an error PHP Code: ReferenceError: Error #1069: Property takeHit not found on com.asgamer.basics1.Laser and there is no default value. at com.asgamer.basics1::Laser/loop() Although the movie does not break, and continues to remove destroyed enemies as if there was no problem.
What the problem is with calling the takeHit function via the collisions array rather than the Engine.enemyList array? And perhaps suggest a way to prevent it? I should point out that the 'laser' is in fact a blast that can take out any number of enemies intersecting with the blast radius, which is why I'm using CollisionList to detect hits.
My hitTest function only works on the y-axis This is the code.... onClipEvent (enterFrame) { // _root.speed = speed; if (Key.isDown(Key.UP)) { speed += 3; [Code] .....
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?
How do i get the hitTest() function to test if a certain symbol is hitting another symbol, but, only if drawn parts of the symbol are touching, not thier outer bounds.
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.