Foros del Web » Programando para Internet » Javascript »

Evaluación de expresión... (¿existe "else if"?)

Estas en el tema de Evaluación de expresión... (¿existe "else if"?) en el foro de Javascript en Foros del Web. loading............. Bueno nada perdemos en probar. Código PHP: var  m  = wiggle ( 0 , 200 ); // acá hay alguna forma de saber cuanto vale m??? if ( m > 100 )  {    ...

  #31 (permalink)  
Antiguo 17/07/2008, 15:56
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Respuesta: Evaluación de expresión... (¿existe "else if"?)

loading.............

Bueno nada perdemos en probar.

Código PHP:
var =wiggle(0,200);
// acá hay alguna forma de saber cuanto vale m???
if (m>100
{
  
m=100;
}
else(
m<0)
{
m=0;

Ya que solo tienes 2 condiciones, usa if - else y ya no elseif

connection closed.
__________________

Maborak Technologies
  #32 (permalink)  
Antiguo 17/07/2008, 16:46
Avatar de RobiBaggio
Colaborador
 
Fecha de Ingreso: enero-2005
Ubicación: Mind
Mensajes: 13.554
Antigüedad: 19 años, 3 meses
Puntos: 150
Respuesta: Evaluación de expresión... (¿existe "else if"?)

Pues nada MaBoRaK, el mismo error de la respuesta 26:



Creo y sigo creyendo que wiggle regresa muchos valores numéricos, en el video muestro cómo es igual para un valor de una propiedad que apra uno de dos y es igual para uno de tres, regresa un valor de diferente magnitud cada tantas veces (amplitud y frecuencia).

Si dejo solo m=wiggle no pasa nada, funciona, es decir regresa el valor de m, aleatorio entre +100 y -100, es decir, sí lo muestra, sí es un valor existente, pero a la hora de evaluarlo, se lo pasa por el arco y no manpula los números negativos...

Por el contrario si le indico que:

Cita:
[value[0], value[1],m[2]+100];
Ahí sí le suma 100 a los negativos y los deja positivos, claro que los positivos los bota sobre 100...

Ya intenté hacerle una evaluación "if" dentro de ese espacio y me da error por uso de palabras reservadas.

La verdad esta muy raro, pero creo que es por la cantidad de valores numéricos que arroja wiggle.
  #33 (permalink)  
Antiguo 17/07/2008, 19:52
Avatar de JoniJnm  
Fecha de Ingreso: mayo-2007
Ubicación: Madrid
Mensajes: 264
Antigüedad: 16 años, 11 meses
Puntos: 4
Respuesta: Evaluación de expresión... (¿existe "else if"?)

No me entero muy bien qué pasa, pero si es que no puedes poner else if (digo yo que será más complejo, pero por si acaso):

Código PHP:
if (>= "100") { "100"; } //por si tiene que ir entre comillas
if ("100") { "0"; }

// y si no se puede >= ahí

if (99) { 100; }
if (
100) { 0; } 

Última edición por JoniJnm; 17/07/2008 a las 20:01
  #34 (permalink)  
Antiguo 17/07/2008, 23:51
Avatar de RobiBaggio
Colaborador
 
Fecha de Ingreso: enero-2005
Ubicación: Mind
Mensajes: 13.554
Antigüedad: 19 años, 3 meses
Puntos: 150
Respuesta: Evaluación de expresión... (¿existe "else if"?)

Pues nada JoniJnm... No evalúa, supongo será problema del wiggle, aún no hago pruebas con valores separados, calculo que mañana por la tarde (GTM+7) tengo algo más claro.

Gracias a todos por la ayuda
  #35 (permalink)  
Antiguo 18/07/2008, 00:33
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Evaluación de expresión... (¿existe "else if"?)

Para mi el error "Class 'Number' has no property or method named '2'" está bastante claro.

Si haces m = parseFloat(loquesea) está claro que m va a ser un valor numérico. Si luego intentas hacer m[2] entonces es cuando te dice que m no tiene una propiedad o método llamado 2. Eso es normal.

Por otro lado, lo que wiggle devuelve exactamente depende de la propiedad donde lo aplicas. En tu caso, lo estás aplicando sobre position (que vale originalmente [219.4, 392.0, 0.0]), y lo que te devolverá es un vector similar: [219.4+/-(0..100), 392.0+/-(0..100), 0+/-(0..100)] (léase +/-(0..100) como "más/menos un número entre cero y cien"). Aclaro que lo que wiggle(f,a) devuelve es un valor entre (valorOriginal - a) y (valorOriginal + a), y hace eso f veces por segundo. Aclaro esto porque no sé de dónde sacas que devuelva valores entre -120 y +120.

Entonces, el primer problema es que no deberías hacer parseFloat de eso.

El segundo problema es que no sé por qué estás intentando usar el wiggle en position para cambiar el valor de opacity, cuando podrías cambiarlo directamente en opacity.

Por último, no creo que debas hacer wiggle(0,xxx) porque la frecuencia 0 querría decir que quieres que el valor cambie 0 veces por segundo. Es decir, nunca.

En mi humilde opinión, deberías:
1. Si no quieres cambiar la posición, dejar vacía la propiedad posición.
2. Si quieres cambiar la opacidad, hacer el wiggle directamente en la opacidad. P.ej. Pones la opacidad a un valor de 50 y luego le pones de código (por ejemplo para 5 veces por segundo):
Código:
wiggle(5,50);
  #36 (permalink)  
Antiguo 18/07/2008, 01:03
Avatar de RobiBaggio
Colaborador
 
Fecha de Ingreso: enero-2005
Ubicación: Mind
Mensajes: 13.554
Antigüedad: 19 años, 3 meses
Puntos: 150
Respuesta: Evaluación de expresión... (¿existe "else if"?)

A ver si me explico :P

sobre lo primero, el [2] se lo tengo que hacer como referencia a la posición Z, solo que asigne un valor directo no necesito el [2], pero como lo tomo externamente, debe ir, cuando da ese error si quito el [2] igual da error, supongo porque no esta recibiendo el dato correcto..

Sobre lo siguiente, regresa el valor entre 0 y 100 + 1 de ruido en la cantidad de (en este caso) posición referente al punto de anclaje, tantas veces por segundo, si la película corre a 30 cuadros por segundo el valor más alto en frecuencia es 30 para que sea visible y la amplitud medida en pixeles. Entonces regresa para cada posición (X,Y,Z) [(amplitud x) y (frecuencia n), (amplitud x) y (frecuencia n), (amplitud x) y (frecuencia n)] ...

La verdad es raro, pero, ves lo que hace el efecto y arroja puntas de valores de hasta 120, es raro, pero se puede ver cuando trabaja, si la amplitud es 50, da puntas de 58, si la amplitud es 100, da puntas de hasta 120 que es lo que he visto, no en este caso, pero sí en otras ocaciones que he trabajado con Wiggle, si la amplitud es 500, las puntas son de hasta 560 (que Yo haya visto). No sabría decirte exactamente por qué, salvo por el ruido que es un valor implícito dentro del Wiggle, que es el valor que más podría afectar, en realidad wiggle maneja 5 parámetros:

Cita:
wiggle(freq, amp, octaves=1, amp_mult=.5, t=time)
Frecuencia y amplitud son los más usados, luego el ruido que son las octavas puede afectar, el amp_mult, por más que lo mueva no se ve un cambio aparente, y nunca he visto a nadie que lo haya usado, y el tiempo que es el tiempo actual, pero puedes indicarle que vaya adeantado o atrasado en tiempo, igual no se usa.

Luego, la idea es vincular el movimiento en Z con la opacidad del objeto, cuando en Z esté más cerca el objeto sea más transparente, cuando en Z esté más lejos se haga más solido, si lo hago independiente se pierde esa propiedad, ahora, cuando en Z da valores negativos, digamos que cruza el plano y se ve más cerca de lo debido, en realidad no pasa nada ya que el sólido no puede exceder su transparencia 0.... Pero, cuando el valor esta en negativo cierto tiempo, la transparencia de 0% es estática, por eso quisiera controlar que no haya números negativos, pudiendo controlar eso ya podría agregarle otras acciones.

Así probando, una evaluación simple no me deja restringir un valor proveniente del wiggle, es lo que estoy dudando por la cantidad de valores que maneja, a menos que use el random() de manera independiente para intentar manipular la frecuencia y amplitud de manera manual sin usar el wiggle.

en mis ejemplos uso wiggle(20,100), luego en ejemplos que me han dado lo cambian a wiggle(0,200) pero eso da 0 amplitud y no hay movimiento, Yo lo cmabio a wiggle(20,100)...

Por la tarde (acá son las 2 am) hago las pruebas independientes a ver si funciona, porque la evaluación se la pasa por el arco todavía.

Gracias por todo su tiempo invertido
  #37 (permalink)  
Antiguo 02/02/2011, 09:37
 
Fecha de Ingreso: febrero-2011
Mensajes: 6
Antigüedad: 13 años, 2 meses
Puntos: 0
Exclamación Respuesta: Evaluación de expresión... (¿existe "else if"?)

disculpen que me pase por aqui, pero por lo que veo ustedes manejan muy bien lo que es los scripts o expresiones en after effect, pues me tome el atrevimiento que exponer aqui mi duda.

quiero hacer por medio de una expresion en after efect que una capa de video tenga una opacidad de 100 y en el siguiente forograma sea 0 y asi sucesivamente durante todo lo que dure la composicion.

tengo este codigo en la opacidad pero siempre me queda quieto en 0 o 100.

opacidad=transform.opacity
if(opacidad=100){opacidad=0}
else {opacidad=100}
opacidad

si alguien sabe como puedo hacerlo le estaria muy agradecido.
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 22:09.