Bueno, podrias hacer algo asi, basandote en cuando el campo pierde el foco usar esta funcion que le asigna a los campos vacios la propiedad ".restrict" = (los numeros disponibles)
Código :
function focoOut(evento:FocusEvent):void {
var sTemp:String = "";
var bNumberFounded:Boolean;
for (var j:Number = 1; j <= 3; j++)
{
bNumberFounded = false;
for (var i:Number = 1; i <= 3; i++)
{
if (j == Number(this["number" + i + "_txt"].text) )
{
bNumberFounded = true;
break;
}
}
if (!bNumberFounded)
{
if (sTemp != "")
{
sTemp += "," + String(j);
}
else
{
sTemp += String(j);
}
}
}
for (var k:Number = 1; k <= 3; k++)
{
if (this["number" + k + "_txt"].text == "") this["number" + k + "_txt"].restrict = sTemp;
}
}
Los campos se llamarian number1_txt,number2_txt, etc y "<= 3" serian la cantidad de campos y numeros.
Quedaria hacer la parte cuando recibe el foco que controles si borra algun dato por ejemplo.
Bueno, espero que sirva para comenzar!