Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/09/2012, 02:40
gabrius
 
Fecha de Ingreso: mayo-2012
Ubicación: madrid
Mensajes: 14
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Girar objeto en 3d y mantener color

Hola, de antemano muchas gracias por el foro. Estoy aprendiendo mucho e intentando ayudar en la medida de lo que se a los que andan más escasos que yo.

Necesito su ayuda por que llevo varias semanas intentando solucionar este problema. El caso es que tengo que girar un objeto, el cual dispone de cuatro posiciones(frontal/de lado/lateral/trasera), por lo tanto he creado un mc con la posicion de las cuatro vistas.

[URL=http://www.4shared.com/photo/x_BsiaWK/muestra.html][IMG]http://dc619.4shared.com/img/x_BsiaWK/0.06142806965505043/muestra.jpg[/IMG][/URL]


Aparte hay un btn con la programacion para hacerlo girar:

on (press) {
// cuanto mayor sea el indice_rotacion más lento girará
indice_rotacion = 7;
// en el momento de presionar, almaceno la posición _x del
// puntero y el fotograma actual del clip que quiero rotar
fotograma_inicio = ohm_mc._currentframe;
posicion_puntero = _root._xmouse;
// lanzo un enterFrame que me rota el clip en función del
// movimiento del puntero mientras presiono
delete this.onEnterFrame;
this.onEnterFrame = function() {
// desplazamiento x del puntero desde que he apretado
var deslizamientoX = _root._xmouse-posicion_puntero;
// este deslizamiento lo paso a fotogramas, es decir
// cuanto más me alejo de la posición x inicial
// más frames tengo que desplazar
var deslizamientoFrames = int(deslizamientoX/indice_rotacion);
var fotogramaDestino = fotograma_inicio-deslizamientoFrames;
// compruebo si el fotograma destino es mayor que el total,
// es decir si tengo que ir al fotograma 70 y tengo 60,
// tengo que empeza desde el inicio e ir al frame 10
if (fotogramaDestino<1) {
fotogramaDestino = ohm_mc._totalframes+fotogramaDestino;
}
// hacia atrás igual, si tengo que ir al fotograma -5 de 60,
// en realidad voy al 55. Así aseguramos rotar las vueltas que queramos.
if (fotogramaDestino>ohm_mc._totalframes) {
fotogramaDestino = fotogramaDestino-ohm_mc._totalframes;
}
// voy al fotograma destino y produce la sensación de rotación.
ohm_mc.gotoAndStop(fotogramaDestino);
};
}
on (release, releaseOutside) {
// si libero dejo de rotar.
delete this.onEnterFrame;
}


Este es un ejemplo para girar objetos cuando situas el ratón encima, es decir que puedes hacer que funcione el mc presionando el mouse dentro del objeto con lo que se consigue el efecto girar(gracias al btn con la programacion)

El problema reside cuando quiero que este objeto cambie de color(a lo que he transformado cada imagen en un mc de carga, con los botones de cada color).

¿Como puedo mantener el color?Es decir, que me interprete que grafico se ha cargado para cargar el siguiente de la siguiente posición en el color correcto