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

Porque no funciona????

Estas en el tema de Porque no funciona???? en el foro de Flash y Actionscript en Foros del Web. Hola, miren, estoy inicandome en ActionScript, y quiero hacer algo, pero no me funciona.. es lo siguiente: Tengo un MovieClip con la instancia "pepe" y ...
  #1 (permalink)  
Antiguo 02/01/2002, 11:55
 
Fecha de Ingreso: enero-2002
Mensajes: 15
Antigüedad: 22 años, 10 meses
Puntos: 0
Porque no funciona????

Hola, miren, estoy inicandome en ActionScript, y quiero hacer algo, pero no me funciona.. es lo siguiente:

Tengo un MovieClip con la instancia "pepe"

y lo que quiero, es que al este movie clip, se duplique hacia la izquierda, derecha, arriba o abajo... siguiendo las flechas del teclado...

el codigo que le puse al movie clip es el siguiente:

onClipEvent (enterFrame) {
if (Key.isDown(key.right)) {

B = B+5;
_root.pepe.duplicateMovieClip("blachu"+a , a);
_root["blachu"+a]._x = _root["blachu"+a]._x+b;
a++;
}
if (Key.isDown(key.left)) {


B = B+5;
_root.pepe.duplicateMovieClip("blachu"+a , a);
_root["blachu"+a]._x = _root["blachu"+a]._x-b;
a++;
}
if (Key.isDown(key.up)) {


B = B+5;
_root.pepe.duplicateMovieClip("blachu"+a , a);
_root["blachu"+a]._y = _root["blachu"+a]._y-b;
a++;
}
if (Key.isDown(key.down)) {


B = B+5;
_root.pepe.duplicateMovieClip("blachu"+a , a);
_root["blachu"+a]._y = _root["blachu"+a]._y+b;
a++;
}
}





Pero este codigo se la re manda, osea, hace cualquiera..
No se que estoy haciendo mal... seguramente casi todo, por eso les pido una mano..

Gracias
Blachu
  #2 (permalink)  
Antiguo 02/01/2002, 23:57
tac
 
Fecha de Ingreso: febrero-2001
Ubicación: EEUU
Mensajes: 187
Antigüedad: 23 años, 9 meses
Puntos: 0
Re: Porque no funciona????

Dejame buscar, que vi un ejemplo que te va a ir de perillas para lo que tu quieres hacer dame un poco de tiempo
  #3 (permalink)  
Antiguo 03/01/2002, 13:53
 
Fecha de Ingreso: enero-2002
Mensajes: 15
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: Porque no funciona????

Buenooooo... espero.
  #4 (permalink)  
Antiguo 03/01/2002, 15:00
 
Fecha de Ingreso: octubre-2001
Mensajes: 322
Antigüedad: 23 años, 1 mes
Puntos: 1
Re: Porque no funciona????

En la segunda linea ya tenes un error que no te permite la ejecucion del scrip, tenes que poner "right" con mayuscula:

if (Key.isDown(Key.RIGHT)) {

despues me fijo lo otro
  #5 (permalink)  
Antiguo 03/01/2002, 15:04
 
Fecha de Ingreso: octubre-2001
Mensajes: 322
Antigüedad: 23 años, 1 mes
Puntos: 1
Re: Porque no funciona????

Le cambie a "key" la "k" por una "k" mayuscula y los nombres de las teclas siempre van en mayuscula, hice eso y funciona.
Lo que si el efecto no es muy lindo que digamos.... miralo.
Este es el codigo correjido:

onClipEvent (enterFrame) {
if (Key.isDown(Key.RIGHT)) {

B = B+5;
_root.pepe.duplicateMovieClip("blachu"+a , a);
_root["blachu"+a]._x = _root["blachu"+a]._x+b;
a++;
}
if (Key.isDown(Key.LEFT)) {


B = B+5;
_root.pepe.duplicateMovieClip("blachu"+a , a);
_root["blachu"+a]._x = _root["blachu"+a]._x-b;
a++;
}
if (Key.isDown(Key.UP)) {


B = B+5;
_root.pepe.duplicateMovieClip("blachu"+a , a);
_root["blachu"+a]._y = _root["blachu"+a]._y-b;
a++;
}
if (Key.isDown(Key.DOWN)) {


B = B+5;
_root.pepe.duplicateMovieClip("blachu"+a , a);
_root["blachu"+a]._y = _root["blachu"+a]._y+b;
a++;
}
}

Espero haberte ayudado, saludos
  #6 (permalink)  
Antiguo 04/01/2002, 10:22
 
Fecha de Ingreso: enero-2002
Mensajes: 15
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: Porque no funciona????

Miren, apesar de esos cambios, sigue pasando exactamente lo mismo...
Lo que a mi me gustaria es que por ejemplo, cuando uno presina 5 veces a la derecha, se duplique el movie, 5 veces hacia la derecha, osea, que a la propiedad _x valla aumentando, y que luego, si uno presiona hacia arriba, que desde el ultimo movie que duplico, valla para arriba... duplicandose y aumentando la propiedad _y

Mas o menos se entiende??
osea, si el Movie seria un circulo, que con las flechitas del teclado, yo pueda ir pintando la pantalla..


Muchas gracias por su ayuda...
Blachu
  #7 (permalink)  
Antiguo 05/01/2002, 18:56
 
Fecha de Ingreso: enero-2002
Mensajes: 15
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: Porque no funciona????

Holaaaaa... hay alguien del otro lado??
  #8 (permalink)  
Antiguo 05/01/2002, 19:01
 
Fecha de Ingreso: octubre-2001
Ubicación: caracas
Mensajes: 554
Antigüedad: 23 años
Puntos: 0
Re: Porque no funciona????

el script de duplicacion es bastante sencillo segun recurdo de flash 4 y el 5 mas aun, creo que lo mas recomendable deberia ser que tomes el script que esta en las muestras de tu flash:
on (press) {
bn = "box" add n;
duplicateMovieClip ("box", bn, n);
setProperty (bn, _x, Number(getproperty(bn, _x))+Number(n*(getproperty(bn, _width))));
n = Number(n)+1;
set (bn add ":n", n);
}

lo edites y veas que estas haciendo mal.....

<html><center><embed src="http://www.mipagina.cantv.net/flash5/7/index.swf" height=60 width=500>
</embed></center></html>
  #9 (permalink)  
Antiguo 05/01/2002, 19:15
 
Fecha de Ingreso: diciembre-2001
Mensajes: 44
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: Porque no funciona????

Blanchu estuve probando tu codigo y funciona perfectamente. Lo que si es cierto que el codigo no obedece segun lo programado. Yo puse un trace para ver como aumentaba &quot;a&quot;. No se si has comprobado los valores de &quot;a&quot; pero son muy extraños. Me voy a pasar un rato analizando a ver doy con ello ;)
  #10 (permalink)  
Antiguo 06/01/2002, 10:44
 
Fecha de Ingreso: octubre-2001
Mensajes: 20
Antigüedad: 23 años
Puntos: 0
Re: Porque no funciona????

Hay varios errores enn el codigo que has implementado:
1º: la variable B es la encargada del desplazamineto no? bueno, te cuento que esta no la necesitas, porque ella es la que hace que los clip de peliculas duplicados enten cada vez más separados, ahora si tu quieres que el efecto sea ese tienes que usar variables disitintas para cada evento(pres. tecla), o sea que tienes que susar B,C,D,E.
si tu quieres que los clip se dupliquen a la misma distancia tines que colocar esto:
_root[&quot;blachu&quot;+a]._y = _root[&quot;blachu&quot;+(a-1)]._y + 5; 5 es la separación.

2º: Cuando vos duplicas un clip, el duplic. tine las mismas coord. X y Y que el original, por lo tanto si duplicas siempre el mismo clip (pepe) tenes que modificar sus dos coord. o de lo contrario duplicar el clip
duplicado con anterioridad y a este solo modificarle una sola coord.
seria algo así:
_root[&quot;blachu&quot;+(a-1)].duplicateMovieClip(&quot;blachu&quot;+a, a);
Pero para esto tines que cambiarle el nombre al clip original en vez de (pepe)--&gt;(blachu0)
para que cuando a=1, a-1=0; y todo ande a la prefec.
Otra cosita, a++ debe ir al principio.

El efecto no funciona acomodando solo lo que mencioné arriba sino que hay que arregalar algo más; se trata del lugar donde estan colocadas las acciones, si tu las colocas dentro del clip que estas duplicando lo que sucede es que cuando presionas una tecla, todos los clip que has duplicado hasta el momento reaccionan ante la tecla presionada y
todos se duplican hacia el lado indicado por dicha tecla, no se si me explico...........
Lo que tienes que hacer es crear otro clip de pelicula transparente y le colocas las acciones al mismo, estas controlarán al otro clip de pelicula o sea que este clip transparente seria un tipo de intermediario entre las teclas y el clip que se duplicara...

Lo que tienes que hacer es lo sig.:
Colocas el clip que vas a duplicar y le pones de nombre blachu0.
Crea otro clip y a este le pones las acciones que escribo en el sig. mensaje
Continua abajo
  #11 (permalink)  
Antiguo 06/01/2002, 10:48
 
Fecha de Ingreso: octubre-2001
Mensajes: 20
Antigüedad: 23 años
Puntos: 0
Re: Porque no funciona????

Es que se me terminaron los caracteres......
El codigo para el clip trasparente es este:

onClipEvent (enterFrame) {

if (Key.isDown(Key.RIGHT)) {
a++;
_root[&quot;blachu&quot;+(a-1)].duplicateMovieClip(&quot;blachu&quot;+a, a);
_root[&quot;blachu&quot;+a]._x = _root[&quot;blachu&quot;+(a-1)]._x+5;
}

if (Key.isDown(Key.LEFT)) {
a++;
_root[&quot;blachu&quot;+(a-1)].duplicateMovieClip(&quot;blachu&quot;+a, a);
_root[&quot;blachu&quot;+a]._x = _root[&quot;blachu&quot;+(a-1)]._x-5;
}

if (Key.isDown(Key.UP)) {
a++;
_root[&quot;blachu&quot;+(a-1)].duplicateMovieClip(&quot;blachu&quot;+a, a);
_root[&quot;blachu&quot;+a]._y = _root[&quot;blachu&quot;+(a-1)]._y-5;
}

if (Key.isDown(Key.DOWN)) {
a++;
_root[&quot;blachu&quot;+(a-1)].duplicateMovieClip(&quot;blachu&quot;+a, a);
_root[&quot;blachu&quot;+a]._y = _root[&quot;blachu&quot;+(a-1)]._y+5;
}
}

eljohin....espero esto te sirva.....
  #12 (permalink)  
Antiguo 06/01/2002, 15:19
 
Fecha de Ingreso: diciembre-2001
Mensajes: 44
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: Porque no funciona????

seguro ke le sirve ;) . Gracias por aklararnos las dudas. El principal problema, en mi opinion, estaba en duplicar los clips dentro del propio clip.
  #13 (permalink)  
Antiguo 06/01/2002, 16:18
 
Fecha de Ingreso: enero-2002
Mensajes: 15
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: Porque no funciona????

Gracias a todos!!! matrex, fazeaction y
eljohin
Ahora lo voy a probar y mañana les cuento que tul...

Chauuuu
  #14 (permalink)  
Antiguo 07/01/2002, 14:04
 
Fecha de Ingreso: enero-2002
Mensajes: 15
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: Porque no funciona????

Funciona a la perfeccion!!!!!!!!!!!!

Un millon de gracias... :) :) ...toy contento :P

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 23:35.