follow click - *********
5 seguidores
alguien recuerda como era lo del follow click!!!!!??????
tengo ke hacer un menu ke te siga a donde tu clikes en la panatalla
no un follow mouse!!!!!!!! sino click
graciass
alguien recuerda como era lo del follow click!!!!!??????
tengo ke hacer un menu ke te siga a donde tu clikes en la panatalla
no un follow mouse!!!!!!!! sino click
graciass
Seguro que tienes mucho que decir, te estamos esperando.
theMartix
es fácil, con el evento mouseDown, me parece que sería así, no estoy seguro del todo, pruebalo y si no te sale siempre puedes mirarte la referencia de actionscript ;)
onClipEvent(mouseDown){
tumovie._x=_xmouse;
tumovie._y=_ymouse;
}
lo otro te lo dejo para que te lo curres tu ;)
d1.
theMartix
e2z
gracias
wallace
e2Z si quieres mover un clip hasta donde esta el cursor cuando hagas click puedes hacer lo siguiente:
1. en el MC que quieres mover pega este script:
onClipEvent (load) {
friction = "0.18";
targetx = random(296)+20;
targety = random(450)+20
}
onClipEvent (enterFrame) {
mouse_x = int(targetx-this._x);
mouse_y = int(targety-this._y);
if (mouse_x>0 && mouse_y>0) {
quad = Number(4);
}
if (mouse_x<0 && mouse_y>0) {
quad = Number(1);
}
if (mouse_x<0 && mouse_y<0) {
quad = Number(2);
}
if (mouse_x>0 && mouse_y<0) {
quad = Number(3);
}
//////Si quieres que cambie la dirección con respecto al mouse quita el comentario de esta parte////////////
/*
abs_x = Math.abs(mouse_x);
abs_y = Math.abs(mouse_y);
tg = abs_y/abs_x;
_root.maths = Math.atan(tg)*Number(180)/Math.PI;
if (quad == 1) { angle = number(90) - number(_root.maths) }
if (quad == 2) { angle = number(90) + number(_root.maths) }
if (quad == 3) { angle = number(270) - number(_root.maths) }
if (quad == 4) { angle = number(270) + number(_root.maths) }
if (not _root.done) { setProperty (_this, _rotation, angle); _root.done = true}
*/
speedx = difx*friction;
speedy = dify*friction;
setProperty (this, _y, _root.move._y+speedy);
setProperty (this, _x, _root.move._x+speedx);
difx = int(targetx)-this._x;
dify = int(targety)-this._y;
}
La parte que esta comentada es por si quieres cambiar la direccion del clip respecto al mouse.
En un clip que contenga un botón invisible (...con el hit area) pegate este otro script:
al MC:
onClipEvent (enterFrame) {
this._x=_root._xmouse;
this._y=_root._ymouse;
}
al boton dentro del MC:
on (press) {
_root.difx = this._x-_root.move._x;
_root.move.targetx = this._x;
_root.dify = this._y-_root.move._y;
_root.move.targety = this._y;
_root.done = false;
}
Espero que te funcione, cualquier cosa siempre leo este thread.
theMartix
hombre, te has pasado un poco poniendo todo el codigo... lo bonito es currarselo uno mismo no?
;) venga hasta luego
Martí
rept
Apoyo a Wallace, ojalá todas las respuestas fueran así, además no todos somos expertos <em>actionscripters</em> :)
wallace
Martix, esta es una pregunta que parece bastante sencilla pero en realidad envuelve un coñazo de tiempo ponerse a currar esta vaina.
loopecio
Yo, sinceramente, agradecezco mucho el currele que se ha pegado wallace, entre otras cosas por que estoy algo pez en esto del actionscript, y que mejor que un parrafon de esos para ir perdiendole el miedo...
*/ ahora lo aprender a insertarlo y a usarlo...
*/ merci, wallace!
Usuario desconocido
Otra manera menos complicada de hacerlo y mas cortita
<code>
Stage.noScale = true;
//F-->friccion
//PX-->punto horizontal
//PY-->punto vertical
MovieClip.prototype.mover = function(F, PX, PY) {
F = "."+F;
this.Vx = ((PX-this._x))+(this.Vx*F);
this.Vy = ((PY-this._y))+(this.Vy*F);
this._x += this.Vx;
this._y += this.Vy;
};
// rotacion acorde con la posicion del mouse
_root.onMouseMove = function() {
menu._rotation = Math.atan2(_root._ymouse-(Stage.height/2), _root._xmouse-(Stage.width/2))*360/(2*Math.PI);
};
_root.onMouseDown = function() {
pux = _root._xmouse;
puy = _root._ymouse;
activar = true;
};
menu.onEnterFrame = function() {
trace(Stage.width);
if (activar) {
this.mover(5, pux, puy);
}
};
</code>
Usuario desconocido
<code>
MovieClip.prototype.mover = function(F, PX, PY) {
F = "."+F;
this.Vx = ((PX-this._x)*.5)+(this.Vx*F);
this.Vy = ((PY-this._y)*.5)+(this.Vy*F);
this._x += this.Vx;
this._y += this.Vy;
};
</code>
asi mejor...se me qudo el anyadir el radio(.5) a la formula.
wallace
Esta es otra manera que puedes ver hecho en Flash 6 con un sample de Macromedia:
Sample de Macromedia
Bajate el source esta bastante bien