Debo agradecer,a este foro por el apoyo que significa en el proceso de aprendizaje de Flash, sobretodo a novatos como yo, porque voy aprendiendo continuamente. Trabajo por si acaso en el Flash mx 2004
Mi pregunta se refiere a las ordenes que se debe dar a tres botones que me deben servir para avanzar de a unos, los frames que tengo en un layer. Pero mejor les detallo lo que estoy haciendo:
Tengo una escena principal y en una de las layer tengo varios frames. En cada frame,colocó un botón con la caracrerística acción
on (release) {
GotoAndplay ""
}
(no hay problema en el scrip anterior)
En uno de los frames coloco esa acción:
on (release) {
GotoAndplay "cerpos"
}
que me lleva a una escena diferente que tiene justamente como nombre en la ventana scene "cerdos"; aquí tengo tres layer.
En la primera layer coloco 10 keyframes seguidos y en cada uno coloco una fotografía diferente.
En la segunda layer coloco dos botones. El primero con nombre en etiqueta backBtn, o botón que me lleva una foto atrás; el segundo botón con nombre en etiqueta forwardBtn, o botón que me lleva una foto adelante.
En la terecera capa, que es de acciones, coloco en el primer frame el siguiente scrip que copié de una muestra que encontré en un tutorial (no lo creé yo porque soy inexperto en este programa):
// If not defined yet,
if (isLoaded == undefined) {
// Routine to move playhead to a new frame
var updateFrame = function (inc) {
var newFrame = _currentframe + inc;
gotoAndStop(newFrame);
if (_root._currentframe == 1) {
backBtn._alpha = 50;
backBtn.enabled = false;
} else {
backBtn._alpha = 100;
backBtn.enabled = true;
}
if (_root._currentframe == _root._totalframes) {
forwardBtn._alpha = 50;
forwardBtn.enabled = false;
} else {
forwardBtn._alpha = 100;
forwardBtn.enabled = true;
}
}
// When the forward button is pressed
forwardBtn.onPress = function () {
updateFrame(1);
}
// When the back button is pressed
backBtn.onPress = function () {
updateFrame(-1);
}
// When the keyboard keys are pressed
var keyListener = new Object();
keyListener.onKeyDown = function () {
if (Key.isDown(37)) {
// Left
updateFrame(-1);
} else if (Key.isDown(38)) {
// Up
updateFrame(-(_currentframe-1));
} else if (Key.isDown(39)) {
// Right
updateFrame(1);
} else if (Key.isDown(40)) {
// Down
updateFrame(_totalFrames + 1);
}
}
Key.addListener(keyListener);
// Call updateFrame at first to get button states correct at start
updateFrame();
}
// Set loaded flag to prevent redefinition
this.isLoaded = true;
stop();
Y en los siguientes nueve frames coloqué sólo la acción stop a cada uno de ellos.
Pruebo la película, hago clic en el fotón del frame indicado, y este me lleva precisamente a la escena "cerdos". hasta ahí no hay problema.
El asunto es que cuando ejecuto los botones no responde como deben. Cunado aprieto backBtn o forwardBtn, me lleva dirwectamente al último fotograma (fotografía 10), y ambos botones se desactivan y no vuelven a responder.
Sin embargo, cuando copio todas las características de esta escena, en otro proyecto nuevo, tal y conforme, con sus funciones y fotografías, al probar la película sí funciona a la perfección.
Al parecer la acción sólo es para que funcione en una escena princiupal y no en una que es invocada.
Ayuda pare resolver este problema. Aparte de ello, quisiera poner un botón en el frame final el cual me permita volver al frame 1.
Ayuda a ustedes expertos