Cambiar starDrag por onMouseMove
Tengo un codigo para as2 y este tiene un starDrag, el problema es que no se bien por que flash no acepta 2 starDrag.
Bueno explicandome mejor, estoy utilizando otro starDrag dentro de un ScrollBar, para un archivo de texto cargado por XML y no me gustaria tocar este. Bueno se que uno puede utilizar onMouseMove para solucionar esto.
El otro starDrag lo estoy utilizando en un mouse perzonalizado y este es el codigo que estoy utilizando para el:
<code>var RAD_DEG:Number = 180/Math.PI; // Variable to convert radians to degrees
Mouse.hide();
_root.createEmptyMovieClip("mouser", 1);
mouser.attachMovie("fly", "fly", 1);
mouser._x = _xmouse;
mouser._y = _ymouse;
mouser.oldY = mouser._y;
mouser.oldX = mouser._x;
mouser.startDrag(true);
// MONITOR THE SPEED AND DIRECTION OF THE MOVIE
mouser.onMouseMove = movement;
function movement() {
mouser.dirX = mouser.oldX-mouser._x;
mouser.dirY = mouser.oldY-mouser._y;
mouser.oldX = mouser._x;
mouser.oldY = mouser._y;
// Calculate the angle of the mc based on the direction of movement
myAngle = Math.atan2(mouser.dirY, mouser.dirX)*RAD_DEG;
errorAngle = myAngle - mouser._rotation;
if(Math.abs(errorAngle) > 5){
if(((errorAngle > 0) && (errorAngle < 180)) || (errorAngle < -180)){
mouser._rotation += 5;
} else {
mouser._rotation -= 5;
}
}
updateAfterEvent();
}</code>
Se donde esta el problema pero no se como solucionarlo.
kenike
boruga
Tengo un codigo para as2 y este tiene un starDrag, el problema es que no se bien por que flash no acepta 2 starDrag.
Pues simplemente porque no tienes dos punteros en la pantalla!
No necesitas otro startDrag para conseguir lo que quieres, solo modificar un poco lo que ya tienes:
<code>
var RAD_DEG:Number = 180/Math.PI; // Variable to convert radians to degrees
Mouse.hide();
this.createEmptyMovieClip("mouser", 1);
this.mouser.attachMovie("fly", "fly", 1);
// MONITOR THE SPEED AND DIRECTION OF THE MOVIE
this.mouser.onMouseMove = function () {
dirX = oldX-this._x;
dirY = oldY-this._y;
oldX = this._x;
oldY = this._y;
this._x = _xmouse;
this._y = _ymouse;
// Calculate the angle of the mc based on the direction of movement
myAngle = Math.atan2(dirY, dirX)*RAD_DEG;
errorAngle = myAngle - this._rotation;
if(Math.abs(errorAngle) > 5){
if(((errorAngle > 0) && (errorAngle < 180)) || (errorAngle < -180)){
this._rotation += 5;
} else {
this._rotation -= 5;
}
}
updateAfterEvent();
}
</code>
salu2
boruga
Esta perfecto, que bien me ha funcionado, ahora mas tarde me pongo a entender el codigo