I think you’d have to double up on everything, like this maybe:
p = thisComp.layer("Target").position;
animateFrames = 15;
triggeredH = p.valueAtTime(0)[0] >= position[0];
triggeredV= p.valueAtTime(0)[1] >= position[1];
fCur = timeToFrames(time);
f = 1;
fSaveH = 0;
fSaveV = 0;
nH = 0;
nV = 0;
while (f <= fCur){
if (triggeredH){
if (p.valueAtTime(framesToTime(f))[0] < position[0]){
triggeredH = false;
}
}else{
if (p.valueAtTime(framesToTime(f))[0] >= position[0]){
nH++;
triggeredH = true;
fSaveH = f;
}
}
if (triggeredV){
if (p.valueAtTime(framesToTime(f))[1] < position[1]){
triggeredV = false;
}
}else{
if (p.valueAtTime(framesToTime(f))[1] >= position[1]){
nV++;
triggeredV = true;
fSaveV = f;
}
}
f++
}
rV = 0;
rH = 0;
if (nH > 0){
rH = (nH-1)*90 + ease(fCur-fSaveH,0,animateFrames,0,90);
}
if (nV > 0){
rV = (nV-1)*90 + ease(fCur-fSaveV,0,animateFrames,0,90);
}
value + rV + rH