problemilla con _root
A ver que os cuento de ke va la cosa. Estoy intentando hacer un menu deslizante.
Lo que quiero que haga es que al picar por ejemplo en 1 (nombre de instancia f), este vaya a la izquierda y se quede y al picar en 2, el 1 vuelva a su lugar de origen y el 2 ocupe el lugar del 1, todo con desplazamiento.
Para ello he realizado las animaciones para que vayan de izquierda a derecha y en el fotograma intermedio le tengo puesto un stop y una variable. Así cuando pique en 2 y se cumpla la condicion impuesta por la variable el 1 regrese a su lugar.
La verdad es que tengo un cacao bastante majo, os pongo por aki el codigo el root a ver si ta bien o ke
on (release) {
play ();
if (_root.f == "on") {
stop ();
} else if (_root.f == "off") {
tellTarget ("_root.f") {
gotoAndPlay (6);
}
}
}
Yo creo que ni tiene que decir que estoy empezando con Action Script
Bueno si alguien puede echarme una mano despues de esta explicacion tan mal expuesta pues seria de mucha ayuda.
Gracias de antemano
txuma Plus
A ver, un par de comentarios al código:
1. El telltarget en una instruccion que ya no se usa. Deberías ponerlo así:
_root.f.gotoAndPlay(6)
2. Puede que el cansancio no me deje ver, pero no entiendo muy bien ese script:
if (_root.f == "on") --> Según he leido f es una instancia, no una variable, por tanto esa comparación no tiene mucho sentido.
Si he entendido bien lo que quieres hacer esta sería una forma (es un ejemplo con sólo dos botones):
1. En cada movie clip defines una variable en el fotograma intermedio: x = 1. Y en el fotograma inicial asignas otro valor a esa misma variable: x = 0. Por supuesto, tanto en el inicial como en el intermedio colocas un stop();
2. Colocas las movie clip y les das un nombre de instancia (f y g, por ejemplo)
3. Entiendo que dentro de cada MC hay un botón. La acción que debe tener ese botón (en la instancia g, por ej.) es esta:
<code>
on (release) {
play();
if (_root.f.x == 1) {
_root.f.play();
}
}
</code>
y para ser más puristas, en el fotograma intermedio al botón debes quitarle el primer play (así si haces clic en el botón cuando está a la izquierda no se mueve
<code>
on (release) {
play();
if (_root.f.x == 1) {
_root.f.play();
}
}
</code>
Y en el caso del botón que está en la instancia f tendrás que modificar la llamada a la instancia correspondiente, es decir, las acciones serían las mismas, pero donde ponía f poner g.
Espero que te sirva. Si no lo consigues avisame.
Un salu2
kasu
jejeje gracias miles de ellas miles :D ya funciona la cosilla, jeje no veas la ilusion que me ha hecho ver que funcionaba, jeje es que esto de ser principiante mola porque te alegras con cualquier tonteria que funcione.
Ah y tb gracias por la puntuación de que tellTarget ya no se usa
jeje en fin ke aunke me repita GRACIAS
Saludos
txuma Plus
kasu
es que esto de ser principiante mola porque te alegras con cualquier tonteria que funcione.
Creo que yo también soy principiante en esto, sobre todo porque sigo teniendo esa misma sensación ;)