Link two separate functions?

Hi i’m kind of beginner/intermediate level (more so beginner i’d say) at AS3, and i’m trying to make a tower defence style game… ATM i’m using internal code, but would it be better to switch to external?

Anyway, the problem is, at the moment i’m not sure how to impelment a way of saying, if an enemy spawn hit tests “icearea” then just trace (“in range”); but i get errors no matter where i insert the equivlent code…

this is what i have so far

Sorry if i haven’t been perfectly clear


//position for middle enemy: x = 32 y = 392.95

var number:int=0;
var lives:int=5;
livesText.text=String(lives);
//spawn 5 enemies
for (var i:int = 1; i<=4; i++) {
    var enemy_spawn = new enemy_mc();
    var randomy:int = Math.random()*(424-360) + 360;
    enemy_spawn.x= Math.random()*(64);
    enemy_spawn.y=randomy;
    addChild(enemy_spawn);
    number++;

    enemy_spawn.addEventListener(Event.ENTER_FRAME, movement);
    //below function contains movement, change of directions
    function movement(evt:Event):void {
        var direct:String="right";
        var second:String="False";
        var speednumber:int=12;
        var movespeedx:int=0;
        var movespeedy:int=0;

        //hit test to determine direction
        if (evt.target.x >= (bottomright_mc.x)) {
            direct="up";
        }
        if (evt.target.y <= (topright_mc.y)) {
            direct="left";
        }
        if ((evt.target.x <= (leftbottom_mc.x)) && (evt.target.y <=  315)) {
            direct="up";
        }
        if (evt.target.y <= (lefttop_mc.y)) {
            direct="right";
        }

        if (evt.target.hitTestObject(endarea_mc)) {
            lives-=1;
            livesText.text=String(lives);
            evt.target.removeEventListener(Event.ENTER_FRAME, movement);
            evt.target.parent.removeChild(evt.target);
        }
        

        //movement controls for each direction
        if (direct=="right") {
            movespeedx=speednumber;
            movespeedy=0;
            evt.target.x+=movespeedx;
        } else if (direct == "up") {
            movespeedx=0;
            movespeedy=speednumber;
            evt.target.y-=movespeedy;

        } else if (direct == "left") {
            movespeedx=- speednumber;
            movespeedy=0;
            evt.target.x+=movespeedx;
        }


        //trace(direct);
    }


}

ice_btn.addEventListener(MouseEvent.CLICK, attachIce);
function attachIce(e:MouseEvent):void {
    var iceBase = new ice_base();
    var iceTurret = new iceturret();


    iceBase.alpha=0.5;
    iceTurret.alpha=0.5;
    iceBase.x=mouseX;
    iceBase.y=mouseY;
    iceTurret.x=iceBase.x;
    iceTurret.y=iceBase.y;
    addChild(iceBase);
    addChild(iceTurret);

    iceBase.addEventListener(Event.ENTER_FRAME, update);
    function update(evt:Event):void {

        iceBase.x=mouseX;
        iceBase.y=mouseY;
        iceTurret.x=iceBase.x;
        iceTurret.y=iceBase.y;

        stage.addEventListener(MouseEvent.CLICK, place);
        function place(e:Event):void {
            iceBase.alpha=1;
            iceTurret.alpha=1;
            var icearea:Shape = new Shape();
            icearea.graphics.beginFill(0xFF0000);
            icearea.graphics.drawCircle(iceBase.x,iceBase.y,120);
            icearea.alpha=0.01;
            icearea.graphics.endFill();
            addChild(icearea);
            iceBase.removeEventListener(Event.ENTER_FRAME, update);


        }
    }
}