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

Esto me esta matando!!!

Estas en el tema de Esto me esta matando!!! en el foro de Flash y Actionscript en Foros del Web. Hola, miren, tengo un movie clip, y quiero que al presionar una tecla, se baje 5 de alpha de esta MovieClip. Pero que cuando sea ...
  #1 (permalink)  
Antiguo 09/01/2002, 14:26
 
Fecha de Ingreso: enero-2002
Mensajes: 15
Antigüedad: 15 años, 11 meses
Puntos: 0
Esto me esta matando!!!

Hola, miren, tengo un movie clip, y quiero que al presionar una tecla, se baje 5 de alpha de esta MovieClip. Pero que cuando sea menor o igual que 0 el alpha, (transparente) este se empieze a incrementar de a 5 hasta llegar a 100 y repetir todo.

Lo que hice fue esto, puse dos movie clip, uno con evento bla, y otro que es una linita, que contiene las acciones.
Bueno, la parte de codigo de esto es esta
(el valor c no lo importa porque pertenece a otra cosa)

a = _root["blachu"+c]._alpha;
if (a<=100) {
_root["blachu"+c]._alpha = _root["blachu"+c]._alpha-5;
if (a<=0) {
_root["blachu"+c]._alpha = _root["blachu"+c]._alpha+5;

}

En Pseudo lo plantie asi

Si alpha es mayor o igual a 100 que le quite 5. Y luego si alpha es mayoy o igual que 0, que le agrege 5 de alpha.
El problema es que apenas empieza, funciona correctamente, hasta dejar el alpha en 0, pero cuando luego le incrementa 5, cae en el primer if, ya que es menor que 100 y por lo tanto se le restan 5 y siempre queda en 0 el alpha...

Me estuve rompiendo el mate, porque queria resolverlo yo, sin entrar a los foros... jejeje, pero como ven, no pude.
Aclaro que las acciones de arriba se producen en un EnterFrame.

Muchas gracias y espero su ayuda.
  #2 (permalink)  
Antiguo 09/01/2002, 17:52
 
Fecha de Ingreso: enero-2002
Mensajes: 5
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Esto me esta matando!!!

Hola he mirado el codigo y a ver si te funciona asi, lo he probado y ami me ha ido bien.

a = _root["blachu"+c]._alpha;

if (a >= 100) {
i = 1;
}

if (a <= 0) {
i = 0;
}

if (i==1) {
_root["blachu"+c]._alpha = _root["blachu"+c]._alpha-5;
}
if (i==0) {
_root["blachu"+c]._alpha = _root["blachu"+c]._alpha+5;
}

Esto va en el primer frame, y tengo 2 frames.
a guarda el alpha, la variable i funciona como interruptor un poco chapucilla pero bueno :-p si el alpha es 100 o mas se pone en 1, si es 0 o menos se pone en 0.

esto hace que el valor sea redondo, quizas se podia haber hecho un math.round en el alpha para que diera valores enteros pero de esta forma es mas seguro y he ido a saco.

Bueno, ahora i es o 1 ó 0 asi que hacemos los if cuendo i sea 0 le pone +5 de alpha cada vez y cuando i es 1 le quita -5 cada vez, la i cambia solo cuando el alpha es 0 o menos o cuando es 100 o mas.

Espero haberte servido de algo, un saludo.
Sui quieres el archivo fla me lo dices y lo subo.
----------------------------------
Saludos de Javimp
<a href='ir.asp?http://www.subflash.com' target='_blank'>http://www.subflash.com...</a><pre> </pre>
  #3 (permalink)  
Antiguo 09/01/2002, 19:41
 
Fecha de Ingreso: enero-2002
Mensajes: 15
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Esto me esta matando!!!

Mil gracias SubFlash!!!

Ahora me voy a probarlo y despues te cuento...

saludos!!
  #4 (permalink)  
Antiguo 09/01/2002, 21:53
 
Fecha de Ingreso: enero-2002
Mensajes: 15
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Esto me esta matando!!!

Muchas gracias, asi lo pude hacer funcionar, pero queria saber, si hay alguna forma de hacerlo en un solo frame, solo en la instancia &quot;Enter frame&quot;

se puede??

Gracias de nuevo Subflash, y aprovecho para felicitarte por el excelente portal que tienes.

Saludooos
  #5 (permalink)  
Antiguo 10/01/2002, 03:50
 
Fecha de Ingreso: enero-2002
Mensajes: 5
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Esto me esta matando!!!

la accion se produce cada vez que entra en el frame, si no sale del frame no vuelve a entrar y no se produciria el evento enterframe. Por eso habra 2 frames.
¿Te da algun problema tener 2 frames?

(Creo que es asi, si me equivocara rectificarme :) )
Saludos :)
--------------------------------------------------------
Javimp -
<a href='ir.asp?http://www.subflash.com' target='_blank'>http://www.subflash.com...</a>
  #6 (permalink)  
Antiguo 10/01/2002, 11:09
 
Fecha de Ingreso: enero-2002
Mensajes: 15
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Esto me esta matando!!!

El evento es OnKeyPress(key.right) y este esta dentro de un OnEnterFrame, que esta en el primer y unico frame...
Entonces es como que queda esperando que se presione una tecla para ejecutar las acciones...

Si, es necesario de que este en un solo frame.


Gracias por tu ayuda SubFlash!!!
Saludos
  #7 (permalink)  
Antiguo 10/01/2002, 18:43
 
Fecha de Ingreso: enero-2002
Mensajes: 5
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Esto me esta matando!!!

Sorry :-p ahora me di cuenta que el evento era con teclado, para crear el efecto, no uses onenterFrame, usa keyDown, y luego una comprobacion de que tecla pulsa el usuario, Key.getCode compara que tecla estas pulsando al ser la 39 es la flecha derecha, cada vez que se pulse la tecla derecha disminuira -5 de alpha hasta llegar a 0 y luego sube +5 cada vez.

onClipEvent (keyDown) {

if (Key.getCode() == 39){

a = _root[&quot;blachu&quot;+c]._alpha;
if (a&gt;=100) {
i = 1;
}
if (a&lt;=0) {
i = 0;
}
if (i == 1) {
_root[&quot;blachu&quot;+c]._alpha = _root[&quot;blachu&quot;+c]._alpha-5;
}
if (i == 0) {
_root[&quot;blachu&quot;+c]._alpha = _root[&quot;blachu&quot;+c]._alpha+5;
}
}
}

Pues este es el codigo, lo probé y va bien. Creo que era esto lo que preguntabas, ha el mensaje de antes es de dos frames, con uno tambien funciona :-p

Suerte, ah y gracias por lo de la pagina, esta un poco descuidada :( tengo que ponerme con ella.
Saludos!
----------------------------------------
Javimp - <a href='ir.asp?http://www.subflash.com' target='_blank'>http://www.subflash.com...</a>
  #8 (permalink)  
Antiguo 10/01/2002, 18:47
 
Fecha de Ingreso: enero-2002
Mensajes: 5
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Esto me esta matando!!!

Se me olvidaba.
Flecha izq. 37
Flecha arriba 38
Flecha der. 39
Flecha abajo 40

son los codigos de estas teclas por si los necesitas, los tenia a mano. para ver todos los codigos de las teclas los puedes ver en el Apendice B del Manual de Actionscript ese que esta en pdf que es de macromedia y gratuito ^_^
-------------------------------------------
Javimp - <a href='ir.asp?http://www.subflash.com' target='_blank'>http://www.subflash.com...</a>
  #9 (permalink)  
Antiguo 10/01/2002, 20:07
 
Fecha de Ingreso: enero-2002
Mensajes: 15
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Esto me esta matando!!!

Gracias SubFlash... ahorita me lo voy a probar..
Gracias, gracias, gracias!! so mi idolo :) :)
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 11:23.