Bueno, pues vuelvo a pedios ayuda.
Habia dejado esto de lado por unos dias, pero he vuelto a retomarlo, y con el codigo para rotar la rueda que estaba usando antes consegui que las figuras mantuvieran la posicion horizontal a medida que giraba. Pero luego al desarrollar el juego me dio algunos problemas y decidi dejar ese codigo a un lado.
Ahora estoy utilizando otro, y de momento consigo que al hacer el "on (release)" las figuras se coloquen en su posicion, pero no consigo hacer que giren a la vez que la rueda que las contiene.
el codigo es este
Código ActionScript :
on (press) {
this.Nrrueda.gotoAndStop("2");
var x = _root._xmouse-this._x;
var y = _root._ymouse-this._y;
rot = Math.atan2(y, x)*180/Math.PI;
this.clickrotation = Math.round (rot-this._rotation);
pos = 1;
}
on (release, releaseOutside) {
this.Nrrueda.gotoAndStop("1");
this.spinSpeed = this._rotation-this.lastrotation;
giro = (((Math.round ((rot-this.clickrotation)/45)))*45) - (rot-this.clickrotation) ;
this._rotation = Math.round (rot-clickrotation) + giro;
Fcazo._rotation = - (Math.round (rot-clickrotation) + giro);
Fjarra._rotation = - (Math.round (rot-clickrotation) + giro);
Ffigura._rotation = - (Math.round (rot-clickrotation) + giro);
Frollo._rotation = - (Math.round (rot-clickrotation) + giro);
Fcangilon._rotation = - (Math.round (rot-clickrotation) + giro);
Fanafre._rotation = - (Math.round (rot-clickrotation) + giro);
Fataifor._rotation = - (Math.round (rot-clickrotation) + giro);
Fanfora._rotation = - (Math.round (rot-clickrotation) + giro);
if (this.spinSpeed>180) {
this.spinSpeed -= 360;
}
if (this.spinSpeed<(-180)) {
this.spinSpeed += 360;
}
pos = 2;
}
onClipEvent (enterFrame) {
/*if (pos == 2) {
this.spinSpeed *= 0.7;
this._rotation += this.spinSpeed;
}*/
if (pos == 1) {
var x = _root._xmouse-this._x;
var y = _root._ymouse-this._y;
rot = Math.atan2(y, x)*180/Math.PI;
this.lastrotation = this._rotation;
this._rotation = rot-this.clickrotation;
/*this.Fcazo._rotation = - (rot-this.clikrotation);
this.Fjarra._rotation = - (rot-this.clikrotation);
this.Ffigura._rotation = - (rot-this.clikrotation);
this.Frollo._rotation = - (rot-this.clikrotation);
this.Fcangilon._rotation = - (rot-this.clikrotation);
this.Fanafre._rotation = - (rot-this.clikrotation);
this.Fataifor._rotation = - (rot-this.clikrotation);
this.Fanfora._rotation = - (rot-this.clikrotation);*/
}
}
Este codigo va un MovieClip llamado Nrueda, que a su vez contiene las figuras (MovieClips Fcazo, Fjarra, etc) que deben girar a la vez que la rueda pero en angulo opuesto para mantener su posicion horizontal.
Al soltar el boton del raton, te hace un redondeo para que la rueda no se quede en cualquier posicion, sino en un multiplo de 45 grados.
La inercia del giro de momento se la he quitado porque me daba problemas a la hora de redondear, asi que de momento la he dejado en stanby.
A ver si podeis echarme una mano y me quito este paso de encima.
Gracias