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

Problema efecto noria

Estas en el tema de Problema efecto noria en el foro de Flash y Actionscript en Foros del Web. Hola Os escribo porque necesito ayuda con un pequeño juego que estoy haciendo. En el juego tengo un Movieclip con forma de rueda (Frueda) que ...
  #1 (permalink)  
Antiguo 10/05/2011, 00:44
 
Fecha de Ingreso: noviembre-2010
Ubicación: Almería
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 1
Problema efecto noria

Hola

Os escribo porque necesito ayuda con un pequeño juego que estoy haciendo. En el juego tengo un Movieclip con forma de rueda (Frueda) que hago girar con el raton. Este Movieclip contiene a su vez una seri de Movieclips (F1, F2, .... , F8), que quiero que cuando la rueda que los contiene gire, estos giren compensando el movimiento de la rueda. En definitiva, que siempre mantengan su posicion horizontal (el mismo efecto que los vagones de una noria).

Estoy utilizando el codigo siguiente, que lo tengo puesto en MC Frueda. El "on (release)" funciona bien, lo que hace es redondear el giro de la rueda a multiplos de 45º, para que esta no se quede en cualquier posicion, y redondea y coloca los MC que contiene la rueda en posicion horizontal.

Lo que no me funciona es que los Mc de dentro de la rueda giren a medida que giro la rueda (no se si me he explicado bien).

Código:
on (press) {
	this.Frrueda.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);
	_root.Frueda.F1._rotation = - (rot-this.rotation);
	pos = 1;
}

on (release, releaseOutside) {
	this.Frrueda.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;
	F2._rotation = - (Math.round (rot-clickrotation) + giro);
	F3._rotation = - (Math.round (rot-clickrotation) + giro);
	F4._rotation = - (Math.round (rot-clickrotation) + giro);
	F5._rotation = - (Math.round (rot-clickrotation) + giro);
	F6._rotation = - (Math.round (rot-clickrotation) + giro);
	F7._rotation = - (Math.round (rot-clickrotation) + giro);
	F8._rotation = - (Math.round (rot-clickrotation) + giro);
	F1._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;
		_root.Frueda.F1._rotation = - (rot-this.clikrotation);
	}
}
En el codigo que os he puesto estoy intentando el giro solo para el primer Mc del interior de la rueda ( F1 ).

Podeis echarme una mano?

Gracias
  #2 (permalink)  
Antiguo 10/05/2011, 02:48
 
Fecha de Ingreso: noviembre-2010
Ubicación: Almería
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problema efecto noria

Os juro que no se lo que he hecho.

Por mas que miro el codigo sigue siendo el mismo, pero ahora funciona.

Gracias en cualquier caso

Etiquetas: efecto
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 05:31.