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

Como crear un rastro de un MC

Estas en el tema de Como crear un rastro de un MC en el foro de Flash y Actionscript en Foros del Web. Hola señores Jugando un poco con Flash, se me ocurrio esto y como veran funciona bien cuando apretamos el boton correr. El caso es que ...
  #1 (permalink)  
Antiguo 24/05/2005, 18:36
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 13 años, 9 meses
Puntos: 7
Como crear un rastro de un MC

Hola señores

Jugando un poco con Flash, se me ocurrio esto y como veran funciona bien cuando apretamos el boton correr.

El caso es que me gustaria que la pelotita dejara un rastro a medida que vaya corriendo. Trate usando parte del script de este tutorial, pero no me fue muy bien.

El siguiente es todo el script que maneja la creacion de objetos y movimiento de la pelotita, preparado por mi:
Código:
var cantPerseguidos = 5;
var velocidad = 8;
var perseNum;
//
//
//
function randomMinMax(min, max) {
	return Math.floor(random(max-min+1))+min;
}
//
//
//
function crearPerseguidos() {
	for (i=0; i<cantPerseguidos; i++) {
		attachMovie("perseguido", "perse"+i, i);
		_root["perse"+i]._x = randomMinMax(10, 290);
		_root["perse"+i]._y = randomMinMax(10, 150);
	}
}
//
//
//
function correrPerseguidor() {
	perseguidor.duplicateMovieClip("perseguidorDup", cantPerseguidos+5);
	//
	//createEmptyMovieClip("linea", 1);
	//linea.lineStyle(1, 0x000000, 100);
	//
	perseguidorDup.onEnterFrame = function() {
		//
		this._x += (_root["perse"+perseNum]._x-this._x)/velocidad;
		this._y += (_root["perse"+perseNum]._y-this._y)/velocidad;
		linea.moveTo(_root["perse"+perseNum]._x, _root["perse"+perseNum]._y);
		//
		if (perseguidorDup.hitTest(_root["perse"+perseNum])) {
			_root["perse"+perseNum].gotoAndStop(2);
			_root["perse"+perseNum]._alpha = 20;
			perseNum++;
			trace(perseNum);
			//
			if (perseNum>=cantPerseguidos) {
				correr_btn.enabled = true;
				correr_btn._alpha = 100;
			}
		}
	};
}
//
//
//
correr_btn.onPress = function() {
	perseNum = 0;
	//
	crearPerseguidos();
	correrPerseguidor();
	//
	this.enabled = false;
	this._alpha = 60;
};
Tienen alguna idea de como lograr que ponga ese rastro (o huellas) a medida que vaya corriendo, como la telaraña de una araña ????

Una pequeña aclaracion, el "perseguidor" del script es la pelotita y los "perseguidos" los cuadros verdes.
__________________
JuniHH
- Mi blog
- Mi portafolio
  #2 (permalink)  
Antiguo 24/05/2005, 19:56
Avatar de webgeri  
Fecha de Ingreso: marzo-2005
Ubicación: montevideo
Mensajes: 374
Antigüedad: 12 años, 8 meses
Puntos: 0
a mi me funciona asi

Código:
function correrPerseguidor() {
	perseguidor.duplicateMovieClip("perseguidorDup", cantPerseguidos+5);
	//
	createEmptyMovieClip("linea", 1000);
	linea.lineStyle(1, 0x000000, 100);
	linea.moveTo(perseguidorDup._x, perseguidorDup._y);
	perseguidorDup.onEnterFrame = function() {
		//
		this._x += (_root["perse"+perseNum]._x-this._x)/velocidad;
		this._y += (_root["perse"+perseNum]._y-this._y)/velocidad;
		linea.lineTo(this._x, this._y);
		//
		if (perseguidorDup.hitTest(_root["perse"+perseNum])) {
			_root["perse"+perseNum].gotoAndStop(2);
			_root["perse"+perseNum]._alpha = 20;
			perseNum++;
			//
			if (perseNum>=cantPerseguidos) {
				correr_btn.enabled = true;
				correr_btn._alpha = 100;
			}
		}
	};
}
sldos
__________________
...
.....todos somos muy ignorantes
...lo que ocurre es que
......no todos ignoramos las mismas cosas
:-D
...

:: jack experimentos ::
:: jack fotografias ::
:: jack fotografias 2 ::
  #3 (permalink)  
Antiguo 24/05/2005, 22:02
Avatar de webgeri  
Fecha de Ingreso: marzo-2005
Ubicación: montevideo
Mensajes: 374
Antigüedad: 12 años, 8 meses
Puntos: 0
tb jugando un poco mas
se puede hacer que el trazo no sea tan preciso asi

Código:
a = random(perseguidorDup._height/2);
linea.lineTo((this._x)+a, (this._y)+a);
o algo asi

Código:
linea.lineTo(this._x, this._y);
j += 0.2;
linea.lineStyle(j, 0x000000, 100);
seguro se puede ajustar un poco mas aun

sldos
__________________
...
.....todos somos muy ignorantes
...lo que ocurre es que
......no todos ignoramos las mismas cosas
:-D
...

:: jack experimentos ::
:: jack fotografias ::
:: jack fotografias 2 ::

Última edición por webgeri; 24/05/2005 a las 22:21
  #4 (permalink)  
Antiguo 25/05/2005, 07:39
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 13 años, 9 meses
Puntos: 7
Gracias Webgeri

Me funciono tal cual queria. Lo modifique un poco para que solo se vea cuando toca el ultimo objeto. El resultado es muy interesante.

Lo puedes ver aqui

Probe tambien el efecto de temblor del trazo. Me gusto el resultado y ya vere en que lo uso. Gracias nuevamente.
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por junihh; 25/05/2005 a las 08:00
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 20:45.