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

duplicateMovieClip

Estas en el tema de duplicateMovieClip en el foro de Flash y Actionscript en Foros del Web. Hola: Mediante duplicateMovieclip puedo duplicar un MC pero como puedo hacer para moverlos? por ejemplo: Código: for(var i=0;i<10;i++){ clip_mc.duplicateMovieClip("clip"+i,10+i); clip._x=randon(100); clip._y=random(100); } Un saludo.Manrique....
  #1 (permalink)  
Antiguo 16/04/2005, 03:12
Avatar de Manrique  
Fecha de Ingreso: abril-2005
Mensajes: 8
Antigüedad: 19 años
Puntos: 0
duplicateMovieClip

Hola:

Mediante duplicateMovieclip puedo duplicar un MC pero como puedo hacer para moverlos?

por ejemplo:
Código:
for(var i=0;i<10;i++){
clip_mc.duplicateMovieClip("clip"+i,10+i);
clip._x=randon(100);
clip._y=random(100);
}

Un saludo.Manrique.
  #2 (permalink)  
Antiguo 16/04/2005, 07:57
 
Fecha de Ingreso: abril-2005
Mensajes: 50
Antigüedad: 19 años
Puntos: 1
Hola:

Mejior si haces algo así:

for(var i=0;i<10;i++){
_root.clip_mc.duplicateMovieClip("clip"+i,10+i);
aux=_root["clip"+i];
aux._x=random(100);
aux._y=random(100);
}

Utilizamos aux para guardar nuestro clip dinámico. Para cambiar las propiedades de los clip que vas creando en cada iteración simplemente actúa sobre aux( aux._propiedad=....).

Espero que te sirva.
Salud¡
www.doctorharapos.com
  #3 (permalink)  
Antiguo 16/04/2005, 09:13
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Si deseas mover cada objeto al tomarlo y soltarlo despues de creados (si entendi bien), entonces deberias intentar esto a ver si te funciona:

Código:
for (var i = 0; i<10; i++) {
	// Aqui duplico el objeto y lo pongo en una 
	// posicion inicial en el stage
	_root.clip_mc.duplicateMovieClip("clip"+i, 10+i);
	this["clip"+i]._x = random(100);
	this["clip"+i]._y = random(100);
	//
	// A cada objeto le aplico y quito la propiedad 
	// de poderse mover al tomarlo y soltarlo
	_root["clip"+i].onPress = function() {
		this.startDrag();
		this.swapDepths(i+10); // <-- Adicional (lee abajo)
	};
	_root["clip"+i].onRelease = function() {
		this.stopDrag();
	};
}
Le añadi una propiedad mas denominada swapDepths, de forma que cada vez vez que tomes cualquiera de los objetos este se ponga por encima de los demas. Si no te gusta, simplemente borralo
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por junihh; 16/04/2005 a las 09:43
  #4 (permalink)  
Antiguo 16/04/2005, 10:07
Avatar de Manrique  
Fecha de Ingreso: abril-2005
Mensajes: 8
Antigüedad: 19 años
Puntos: 0
Hola:

Ante todo gracias por el interés mostrado.

Después deciros que no expresé bien la pregunta.

Lo que yo pretendía era crear 10 ó 20 mc y que todos se movieran al unísono en una dirección y que al llegar a los límites de la película retomaran el valor inicial.

Para quien pudiera estar interesado dejo el código:

Código:
MovieClip.prototype.izqDer = function (limit)
{
    this.vel = Math.random(0.25);
    this.limit = limit;
    this.onEnterFrame = function ()
    {
        if (this._x > this.limit or this._x < 0)
        {
            this._x = 0;
            this._x += this.vel;
        }
        this._x += this.vel;
    };
};
var StageWidth = 800;
var StageHeight = 300;
for (var i = 0; i < 100; i++)
{
    var mc = attachMovie ("fondo", "fondo" + i, 100 + i);
    mc._x = random (StageWidth);
    mc._y = random (StageHeight);
    mc.izqDer (StageWidth);
}
Muchas gracias una vez más.

Un saludo.Manrique.
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:32.