Comunidad de diseño web y desarrollo en internet online

Consulta construir una noria

Citar            
MensajeEscrito el 28 Abr 2011 10:19 am
Buenas

Estoy haciendo un pequeño juego en el que pretendo hacer un efecto similar al de una noria.

Consiste en un movieclip que hago rotar con el raton y dentro de ese movieclip hay una serie de movieclips (llamemosles 'vagones') con una figura cada uno que quiero que mantengan siempre la posicion horizontal cuando haga rotar el movieclip principal. Los vagones se desplazan alrededor del centro de rotacion del mc principal, pero mantienen siempre la posicion horizontal).

Pero no se como hacer que los "vagones" mantengan siempre la posicion horizontal. Podeis echarme una mano?

Gracias

Por OSAMA_almeria

20 de clabLevel



 

Almeria

msie
Citar            
MensajeEscrito el 28 Abr 2011 11:11 am
Cual es el codigo que usas para rotar la noria con el raton? si usas _rotation, ahi esta la clave ;)

Por Acreonte

Claber

1543 de clabLevel

5 tutoriales
6 articulos

Genero:Masculino  

Digital Scientist

firefox
Citar            
MensajeEscrito el 28 Abr 2011 11:41 am
Gracias por contestar lo primero.

El codigo que estoy utilizando para hacer las pruebas es el de este tutorial:

http://www.cristalab.com/tutoriales/cambiar-centro-de-rotacion-de-un-movieclip-en-actionscript-2-c74517l/

Solo utilizo el codigo de la primera ventana (el que va en root), en este caso no por nada en especial, mas que nada porque lo tenia muy a mano de haberlo utilizado para otra cosa recientemente.

Por OSAMA_almeria

20 de clabLevel



 

Almeria

msie
Citar            
MensajeEscrito el 09 May 2011 12:43 pm
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

Por OSAMA_almeria

20 de clabLevel



 

Almeria

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.