Código ActionScript :
package { import flash.display.*; import flash.events.*; import flash.utils.*; public class documento extends MovieClip { public function documento() { var mc2x=200; //ubicacion de bolas rojas var enemyArray:Array = new Array; //crea array para bolas rojas enemyArray.length=40; var mimc1:mc1=new mc1; //bola azul addChild (mimc1); mimc1.x=200; mimc1.y=200; for(var i:Number = 0; i<6; i++) //agrega 6 bolas rojas a array { var mimc2:mc2=new mc2; addChild(mimc2); mimc2.x=mc2x; mc2x+=40; //aleja 40 pixeles cada mimc2 enemyArray.push(mimc2); } addEventListener(Event.ENTER_FRAME,mueve); function mueve(e:Event)//mueve bola azul con mouse { mimc1.x=mouseX; mimc1.y=mouseY; } addEventListener(Event.ENTER_FRAME,colision);//recorre el array function colision(e:Event) //e intenta detectar colision { for (var a:int=0;a<enemyArray.length;a++) { if (mimc1.hitTestObject(enemyArray[a])) {trace("colision");} } } } } }
Lo que yo hice es meter 6 bolas rojas (mimc2) dentro de un array.Despúes tengo una bola azul (mimc1) que controlo con el mouse.Y al final hay una función que a cada frame recorre el array "enemyArray" (donde están las bolas rojas) intentando detectar la colision con mimc1.
Esa última parte no funciona,los mc2 los crea y los pone en pantalla,la bola azul (mimc1) también la crea y la puedo controlar con el mouse.
Pero me da este mensaje de error:
TypeError: Error #2007: El valor del parámetro hitTestObject debe ser distinto de null.
at flash.display::DisplayObject/_hitTest()
at flash.display::DisplayObject/hitTestObject()
at MethodInfo-2()
No sé que es lo que no funciona.
Saludos.