Nada mas para aclarar, cuando esta en el for usando CrearPosicion(), es lo mismo que usar la funcion como mencionaste chwc, por que al final CrearPosicion es una referencia de DefinirPosicion(), su error esta que intenta llamar la funcion como si estuviera llamando una propiedad, y es que le falta los parentesis, algo asi:
Cita: for (a = 0; a <= Tropa.length; a++) {
Tropa[a].CrearPosicion();
}
Saludos.