¿Le estás dando un nombre de instancia a ese clip que usas para hacer el hitTest en los clips del mafioso y de Joy?
Si es así, el problema está en que por un lado estás creando una propiedad dentro de la superclase Mafioso llamada "hit", y por otro lado intentas crear la misma propiedad en la subclase (en realidad es el propio compilador el que te crea esta variable duplicada tanto en la superclase como en la subclase), y de ahí que tengas un conflicto al definir mafioso.hit.
Este problema se debe a que tienes activado en Flash CS4 una opción que crea automáticamente las variables para todos los clips que sean instancias de otros dentro del clip ligado a la clase. Yo personalmente suelo desactivarlo siempre; te da un poco más de trabajo a la hora de crear las clases, pero te evita problemas como el que tienes tú ahora.
Para solucionarlo tienes que abrir el documento .fla, y seguir estos pasos:
(¡Ojo, al hacer esto: a partir de ese momento tendrás que ir creando todas y cada una de las variables de todas las instancias de clips que contengan tus clips!)
En el menú pulsa File - Publish Settings
Seleccionas la pestaña Flash
Al lado de donde pone ActionScript 3.0 pulsa el botón Settings
Desactiva la casilla "Automatically declare stage instances"
Después de hacer esto, como ya he dicho antes ESTÁS OBLIGADO a declarar esa variable de tipo MovieClip llamada "hit" en la superclase Mafioso:
Código ActionScript :
package
{
import flash.display.MovieClip;
public class Mafioso extends MovieClip
{
public var hit:MovieClip;
public function Mafioso(posicion:uint, arma:String)
{
trace(posicion, arma);
}
}
}
Y si tu clip del mafioso tuviera otros clips a los que hubieses dado nombre de instancia, también tendrías que declararlos explicitamente.