El hitTest entre objetos funciona por medio de las "bounding boxes" de estos, si quieres resolver esto, es un poco más complicadillo de lo que piensas, pero debes utilizar hitTest con una coordenada específica, pero para sacar esta coordenada debes sacar algunos
cálculos trigonométricos y calcular el punto extremo del borde del círculo pequeño que se encuentra más cerca al extremo del círculo grande, creo que esto te puede servir:
Crea dos círculos con el centro en el medio en la escena, el grande con nombre de instancia "bola" y el pequeño con nombre de instancia "bolita", después pega este código en el primer frame y pruebaCódigo ActionScript :
bolita.onPress = function():Void{
var iniX:Number = this._xmouse;
var iniY:Number = this._ymouse;
this.onMouseMove = function():Void{
//---Dar posiciones al círculo
this._x = this._parent._xmouse - iniX;
this._y = this._parent._ymouse - iniY;
//---Posiciones de los dos círculos
var c1x:Number = this._parent.bola._x;
var c1y:Number = this._parent.bola._y;
var c2x:Number = this._x;
var c2y:Number = this._y;
//---Diferencias entre los puntos
var difX:Number = c1x - c2x;
var difY:Number = c1y - c2y;
//---Hallar el ángulo
var rad:Number = Math.atan2(difY, difX);
//---Calcular el punto más cercano a la bola grande
var hitX:Number = this._x + Math.cos(rad) * (this._width / 2);
var hitY:Number = this._y + Math.sin(rad) * (this._width / 2);
//---Si la bola grande toca el punto
if(this._parent.bola.hitTest(hitX, hitY, true)){
trace("se tocaron las bolas");
}
updateAfterEvent();
};
}
bolita.onRelease = bolita.onReleaseOutside = function():Void{
delete this.onMouseMove;
}
Te he puesto comentarios, léelos con detenimiento para que notes que se ha hecho en cada caso.