Foros del Web » Creando para Internet » Flash y Actionscript »

Duda tonta pero me tranque... ActionScript + If

Estas en el tema de Duda tonta pero me tranque... ActionScript + If en el foro de Flash y Actionscript en Foros del Web. Hola, practicamente no se nada sobre ActionScript, estoy haciendo un menú en flash utilizando un ActionScrPHP porque por ahí emboqué que los if de php ...
  #1 (permalink)  
Antiguo 12/10/2006, 14:18
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 7 meses
Puntos: 5
Pregunta Duda tonta pero me tranque... ActionScript + If

Hola, practicamente no se nada sobre ActionScript, estoy haciendo un menú en flash utilizando un ActionScrPHP porque por ahí emboqué que los if de php son exactamente iguales en ActionScript : S

Bueno, la duda que tengo es que cuando hago el if, me da el siguiente error. Abao les dejo el código que estoy haciendo.

Error:
Código:
**Error** Escena=Escena 1, capa=botones, fotograma=1:Línea 5: La declaración debe aparecer dentro del controlador on/onClipEvent
     var presionado = "no";

**Error** Escena=Escena 1, capa=botones, fotograma=1:Línea 11: Se ha encontrado un operador 'else' que no coincide con 'if'
     else if (presionado != "no") {

**Error** Escena=Escena 1, capa=botones, fotograma=1:Línea 6: La declaración debe aparecer dentro del controlador on/onClipEvent
     if (presionado = "no") {

Total de errores de ActionScript: 3 	 Errores comunicados: 3
Mi código:
Código:
on (release) {
	presionado = "si";
	gotoAndStop(61);
}
var presionado = "no";
if (presionado = "no") {
	presionado = "si";
	on (rollOver) {
		gotoAndPlay(2);
	}
else if (presionado != "no") {
	stop();
}
}
Desde ya muchísimas gracias ; )
  #2 (permalink)  
Antiguo 12/10/2006, 14:51
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
creo q en vez del = iria == que es para comprobar desigualdad creo...
  #3 (permalink)  
Antiguo 12/10/2006, 15:15
 
Fecha de Ingreso: octubre-2006
Mensajes: 131
Antigüedad: 17 años, 6 meses
Puntos: 0
Yo también creo que deberías probar a poner == en lugar de =
  #4 (permalink)  
Antiguo 12/10/2006, 15:45
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 7 meses
Puntos: 5
Muchas gracias por las respuestas, pero me sigue dando el mismo error. La "sugerencia" que da es que debo declarar las variables en un OnClipEvent pero como?

Saludso !
  #5 (permalink)  
Antiguo 12/10/2006, 20:56
 
Fecha de Ingreso: octubre-2006
Mensajes: 17
Antigüedad: 17 años, 6 meses
Puntos: 0
mira
cuando pones tu variable tienes que decir què tipo de variable
si pones var
entonces tienes que poner:
var presionado : String = "no";
eso es si no la has definido
pero si ya la definiste
el var no es necesario
  #6 (permalink)  
Antiguo 12/10/2006, 21:24
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 3 meses
Puntos: 13
Si no me equivoco ese código lo estás colocando en la línea de tiempo principal ¿no?. Si usas on(evento) tienes que colocarlo en las acciones del botón o movieclip, no en la línea de tiempo.

Si quieres mantenerlo en la timeline debes hacer algunos cambios:

Código:
boton.onRelease = function() {
	presionado = "si";
	gotoAndStop(61);
}
var presionado = "no";
if (presionado == "no") {
	presionado = "si";
	boton.onRollOver = function() {
		gotoAndPlay(2);
	}
}else if (presionado != "no") {
	stop();
}
  #7 (permalink)  
Antiguo 13/10/2006, 12:26
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 7 meses
Puntos: 5
Sonrisa

Gracias de nuevo por las respuestas,
avancé un poco, ahora este es mi código:
Código:
// Se inicia la variable.
onClipEvent (
var presionado:String;
}
// Se crea la acción que se realizará cuando sea presionado.
on (release) {
	presionado = "si";
	gotoAndStop(33);
}
// Se crea la acción que se realizará cuando se sitúe el ratón sobre el botón.
on (rollOver) {
	if (presionado == "si") {
		stop();
	}
// Esto es lo que debe hacer si presionado no es igual a "si".
	else {
	gotoAndPlay(2);
	}
}
De todos modos, me da un error. Este es el error:

Cita:
**Error** Escena=Escena 1, capa=botones, fotograma=1:Línea 3: Se espera un identificador
var presionado:String;

Total de errores de ActionScript: 1 Errores comunicados: 1
Por cierto, este script no va en la línea de tiempo, sino que va en un clip de película que es un botón, pienso pegar el mismo código a cada clip.

Saludos y desde ya muchas gracias !
  #8 (permalink)  
Antiguo 13/10/2006, 12:36
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 7 meses
Puntos: 5
Por fin...

Hola, minutos después de escribir mi respuesta, logré hacer funcionar mi código.

Este es el código que funciona aceptablemente:

Código:
// Se inicia la variable.
onClipEvent (load) {var presionado:String}
// Se crea la acción que se realizará cuando sea presionado.
on (release) {
	presionado = "si";
	gotoAndStop(33);
}
// Se crea la acción que se realizará cuando se sitúe el ratón sobre el botón.
on (rollOver) {
	if (presionado == "si") {
		stop();
	}
// Esto es lo que debe hacer si presionado no es igual a "si".
	else {
	gotoAndPlay(2);
	}
}
Muchísimas gracias !
  #9 (permalink)  
Antiguo 13/10/2006, 13:52
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
presionado es un textbox?
  #10 (permalink)  
Antiguo 13/10/2006, 15:47
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 7 meses
Puntos: 5
No, es un movie clip.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:44.