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

Mover trayectoria de mc con mouse

Estas en el tema de Mover trayectoria de mc con mouse en el foro de Flash y Actionscript en Foros del Web. Hola a todos, Tengo un problema y ya llevo algo de tiempo tratando de arreglar pero no puedo. Lo que quiero hacer es tener multiples ...
  #1 (permalink)  
Antiguo 28/10/2011, 12:32
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Mover trayectoria de mc con mouse

Hola a todos,

Tengo un problema y ya llevo algo de tiempo tratando de arreglar pero no puedo.

Lo que quiero hacer es tener multiples moviclips moviendose dinamicamente. Cuando el mouse se acerce los aleje pero continue moviendose.

El problema es que cuando el mouse se acerca mueve al movieclip pero no sigue con la trayectoria.

Esto es lo que tengo:

Código:
/*=========================*/
MovieClip.prototype.panicMouse = function(distanz, tempo, besch){
	var dist, norm;
	
        var xdiff = this._parent._xmouse - this._x;
        var ydiff = this._parent._ymouse - this._y;
        var abstand = Math.sqrt(xdiff*xdiff + ydiff*ydiff);		
			var movex, movey;		
		if (abstand < distanz){
        	var winkel = Math.atan2(ydiff, xdiff);
            if (besch) tempo = Math.min(tempo, besch*distanz/abstand);
            this._x -= Math.cos(winkel)*tempo;
            this._y -= Math.sin(winkel)*tempo;				
        }else{
			if(_root.getdistance(this.x, this.y, this.targx, this.targy)>this.speed){
				//trace('yes '+_root.getdistance(this.x, this.y, this.targx, this.targy)+' - '+this.speed);
				this.x += this.diffx;
				this.y += this.diffy;
			}else{
				this.x = this.targx;
				this.y = this.targy;
				if (!this.t) {
					this.t = getTimer();
				}
				if(getTimer()-this.t>1000){
					trace('time out');
					this.reset();
					this.t = 0;
				}
			}
			this._x = this.x;
			this._y = this.y;
		}
}


total = 700 / 6;
for (i=1; i<1; i++) {
	duplicateMovieClip (_root.drop, "circle_"+i, i);
	_root.drop._x = total * i;
	//_root.drop._y = total * i;
}

function createEmptyMovieclip(i){
	duplicateMovieClip (_root.drop, "circle_"+i, i);
	_root.drop._x = total * i;
}

/*=========================*/
function getdistance(x, y, x1, y1) {
	var run, rise, total;
	run = x1-x;
	rise = y1-y;
	total = _root.hyp(run, rise);
	return total;
}

/*=========================*/
function hyp(a, b) {
	return (Math.sqrt(a*a+b*b));
}

/*=========================*/
MovieClip.prototype.reset = function() {
	//specify the width and height of the movie
	width  = 952;
	height = 1000;
	//-------------------
	var dist, norm;
	this.x = this._x;
	this.y = this._y;
	this.speed = Math.random()*15+2;
	this.targx = Math.random()*width;
	this.targy = Math.random()*height;
	dist = _root.getdistance(this.x, this.y, this.targx, this.targy);
	norm = this.speed/dist;
	this.diffx = (this.targx-this.x)*norm;
	this.diffy = (this.targy-this.y)*norm;
};
Aquí tengo el archivo.

Espero que alguien me peuda ayudar u orientar

Saludos
http://nuterra10.nuterrallc.com/asse...Background.swf
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com

Etiquetas: mouse, movieclip, trayectoria
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 12:07.