bueno, despues de varios dias intentando solucionar los problemas para no aburrir al personal con dudas qeu pudiese solucionar solo, he llegado a la conclusion de que no puedo

.
he conseguido hacer lo del "rail" de una forma un poco chapucera quizas, pero por ahora me vale, simplemente al tocar por arriba hago que baje, al tocar por abajo que suba etc.
el problema viene con lo que no son los muros... osea con aquellos clips que al tocar deberian hacer otras cosas. pregunte como se hacia para ir al fotograma (2) pq pensaba que sabiendo eso sabria hacer lo demas, pero parece que no.
por ejemplo:
with (_root.bola) {
if (_root.callejon.hitTest(getBounds(_root).xMax, _y, true)) {
removeMovieClip ("bola")
var clip = nivel.attachMovie("m", "m", nivel.getNextHighestDepth());
clip._x = 150;
clip._y = 50;
}
si callejon fuese un boton, bola desapareceria y se cargaria en las cordenadas sin problemas, pero no funciona, en cambio algo como:
with (_root.bola) {
if (_root.callejon.hitTest(getBounds(_root).xMax, _y, true)) {
i=2
_root.loadMovie(ruta+i+ext, "contenedorMapa");
}
si funciona haciendo que se cambie la imagen de fondo, pero tp lo hace como lo haria un boton pq carga la imagen pero borra todo lo demas, tanto la bola como los muros.
otro fallo que no se como arreglar esque al borrar bola se produce esto
Error: No se pudo efectuar la acción 'with' porque el objeto especificado no existe.
como podria hacer para que esto no pasase, pq en ocasiones descargaria bola y no la cargaria hasta mas adelante.
dejando claro lo que quiero hacer: quiero una habitacion con muros que no me dejen pasar (que ya se hacer) y puertas que al tocarlas, descarguen los muros y al personaje y cambien la imagen de fondo, la disposicion de los muros y la situacion inicial del personaje.
algo asi: (pero que funcionase claro)
omito xMin yMax e yMin.
with (_root.bola) {
if (_root.callejon.hitTest(getBounds(_root).xMax, _y, true)) {
i=2;
removeMovieClip ("personaje")
removeMovieClip ("muro")
_root.loadMovie(ruta+i+ext, "contenedorMapa");
var clip = nivel.attachMovie("personaje", "personaje", nivel.getNextHighestDepth());
clip._x = 150;
clip._y = 50;
var clip = nivel.attachMovie("muroEntrada", "muro", nivel.getNextHighestDepth());
clip._x = 1;
clip._y = 1;
}
}
seguramente todo el problema sea por el with (_root.bola), no logro saber como funciona.
bueno muchisimas gracias por la ayuda anterior y muchas mas si me ayudais en esto, que quizas sea mas trabajo de lo que pienso...