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.
