Comunidad de diseño web y desarrollo en internet online

invertir accion y saltar a un fotograma

Citar            
MensajeEscrito el 18 Jun 2009 04:23 am
Tengo un mc con el nombre de instancia "contenedor" y a su vez en el primer fotograma de la escena principal tengo el siguiente codigo:

import mx.transitions.Tween;
import mx.transitions.easing.*;
new Tween(contenedor, "_yscale", mx.transitions.easing.Back.easeOut, 0, 350, 20, false);
new Tween(contenedor, "_xscale", mx.transitions.easing.Back.easeOut, 0, 650, 20, false);
new Tween(contenedor, "_y", mx.transitions.easing.Back.easeOut, 0, 30, 20, false);
new Tween(contenedor, "_x", mx.transitions.easing.Back.easeOut, 0, 30, 20, false);
new Tween(contenedor, "_alpha", mx.transitions.easing.Back.easeOut, 0, 100, 20, false);



Es decir que el mc cambia de alpha y de tamaño automaticamente... ahora o que quiero preguntar es lo siguiente:

Como puedo hacer para que luego de que se agrando el MC hacer un click en el mismo MC y que al hacerlo este vuelva a su tamaño original y luego de que volvio a su tamaño original me lleve a otro fotograma??
Bueno, espero ue alguien lo sepa y pueda contestarme. Gracias de antemano

Por LaMuela

71 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Jun 2009 11:24 am
Dale un nombre de instancia a tu clip, por ejemplo miMC y luego pones:

Código ActionScript :

miMC.onPress = function(){
 //aquí todos los Tweens pero al revés, por ejemplo
  new Tween(contenedor, "_yscale", mx.transitions.easing.Back.easeOut, 350, 0, 20, false);
   (...el resto de los tweens ...)
   gotoAndStop(2)
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Jun 2009 03:13 pm

solisarg escribió:

Dale un nombre de instancia a tu clip, por ejemplo miMC y luego pones:

Código ActionScript :

miMC.onPress = function(){
 //aquí todos los Tweens pero al revés, por ejemplo
  new Tween(contenedor, "_yscale", mx.transitions.easing.Back.easeOut, 350, 0, 20, false);
   (...el resto de los tweens ...)
   gotoAndStop(2)
}


Jorge


Jorge, gracias por contestarme. Te cuento que el script que me pasaste no funciona...yo ya lo habia probado. Igualmente lo volvi a probar y fue asi como me quedo.

import mx.transitions.Tween;
import mx.transitions.easing.*;

new Tween(contenedor, "_yscale", mx.transitions.easing.Back.easeOut, 0, 2100, 20, false);
new Tween(contenedor, "_xscale", mx.transitions.easing.Back.easeOut, 0, 2100, 20, false);
new Tween(contenedor, "_y", mx.transitions.easing.Back.easeOut, 0, 30, 20, false);
new Tween(contenedor, "_x", mx.transitions.easing.Back.easeOut, 0, 30, 20, false);
new Tween(contenedor, "_alpha", mx.transitions.easing.Back.easeOut, 0, 100, 20, false);

contenedor.onPress = function(){
new Tween(contenedor, "_yscale", mx.transitions.easing.Back.easeOut, 5, 0, 20, false);
new Tween(contenedor, "_xscale", mx.transitions.easing.Back.easeOut, 5, 0, 20, false);
new Tween(contenedor, "_y", mx.transitions.easing.Back.easeOut, 0, 0, 20, false);
new Tween(contenedor, "_x", mx.transitions.easing.Back.easeOut, 0, 0, 20, false);
new Tween(contenedor, "_alpha", mx.transitions.easing.Back.easeOut, 0, 100, 20, false);
gotoAndStop(1) }



el MC se llama contenedor y el problema es que si bien me lleva al fotograma deseado (el 1) no respeta la animacion que se desarrola luego de "contenedor.onPress = function(){", es decir, me "teletransporta" automaticamente al primer fotograma sin que se respete el cambio de tamaño primero. Muchas Gracias igualmente y si alguien lo sabe porfa que me diga porque ya no se que probar.

Por LaMuela

71 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Jun 2009 03:41 pm
Entonces tienes que esperar a que termine el Tween mas largo (en duración), tienes que usar un listener al onTweenComplete, si mal no recuerdo era algo así:

Código ActionScript :

var clipTween:Object = new Tween(contenedor, "_alpha", mx.transitions.easing.Back.easeOut, 0, 100, 20, false);
clipTween.ref = _root
clipTween.onTweenComplete = function(evt:Object){
   evt.ref.gotoAndStop(2);
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos



Ultima edición por solisarg el 18 Jun 2009 07:00 pm, editado 1 vez

Argentina

firefox
Citar            
MensajeEscrito el 18 Jun 2009 06:49 pm
Gracias jorge por contestar pero vos sabes que no funka.... probe de las siguientes maneras:

1:

import mx.transitions.Tween;
import mx.transitions.easing.*;
//escala
new Tween(contenedor, "_yscale", mx.transitions.easing.Back.easeOut, 0, 350, 20, false);
new Tween(contenedor, "_xscale", mx.transitions.easing.Back.easeOut, 0, 650, 20, false);
//posicion
new Tween(contenedor, "_y", mx.transitions.easing.Back.easeOut, 0, 30, 20, false);
new Tween(contenedor, "_x", mx.transitions.easing.Back.easeOut, 0, 30, 20, false);
//alpha
new Tween(contenedor, "_alpha", mx.transitions.easing.Back.easeOut, 0, 100, 20, false);

contenedor.onPress = function(){
var clipTween:Object = new Tween(contenedor, "_alpha", mx.transitions.easing.Back.easeOut, 0, 100, 20, false);
clipTween.onTweenComplete = function()
{
gotoAndStop(2);
}}

2:

import mx.transitions.Tween;
import mx.transitions.easing.*;
//escala
new Tween(contenedor, "_yscale", mx.transitions.easing.Back.easeOut, 0, 350, 20, false);
new Tween(contenedor, "_xscale", mx.transitions.easing.Back.easeOut, 0, 650, 20, false);
//posicion
new Tween(contenedor, "_y", mx.transitions.easing.Back.easeOut, 0, 30, 20, false);
new Tween(contenedor, "_x", mx.transitions.easing.Back.easeOut, 0, 30, 20, false);
//alpha
new Tween(contenedor, "_alpha", mx.transitions.easing.Back.easeOut, 0, 100, 20, false);

var clipTween:Object = new Tween(contenedor, "_alpha", mx.transitions.easing.Back.easeOut, 0, 100, 20, false);
clipTween.onTweenComplete = function()
{
gotoAndStop(2);
}



Bueno, gracias igualmente y si a alguien se le ocurre algo por favorrr!!!!! denme una mano que no lo consigo hacer

Por LaMuela

71 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Jun 2009 06:52 pm
tambien probe poniendo "_root.gotoAndStop(2);" en los ejemplos anteriores. Gracias

Por LaMuela

71 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Jun 2009 07:01 pm
Sip, hay un objeto que pasa como argumento que te permite pasar el scope. Edité el code de mi POST anterior y lo agregué. si no es _root, reemplazalo por la ruta que corresponda

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Jun 2009 08:57 pm
JORGE, COMO ESTAS. TE CUENTO QUE PROBE DE ESTA MANERA

import mx.transitions.Tween;
import mx.transitions.easing.*;

new Tween(contenedor, "_yscale", mx.transitions.easing.Back.easeOut, 0, 2100, 20, false);
new Tween(contenedor, "_xscale", mx.transitions.easing.Back.easeOut, 0, 2100, 20, false);
new Tween(contenedor, "_y", mx.transitions.easing.Back.easeOut, 0, 30, 20, false);
new Tween(contenedor, "_x", mx.transitions.easing.Back.easeOut, 0, 30, 20, false);

var clipTween:Object = new Tween(contenedor, "_alpha", mx.transitions.easing.Back.easeOut, 0, 100, 20, false);
clipTween.ref = _root
clipTween.onTweenComplete = function(evt:Object){
evt.ref.gotoAndStop(2); }


Y DE ESTA:

import mx.transitions.Tween;
import mx.transitions.easing.*;

new Tween(contenedor, "_yscale", mx.transitions.easing.Back.easeOut, 0, 2100, 20, false);
new Tween(contenedor, "_xscale", mx.transitions.easing.Back.easeOut, 0, 2100, 20, false);
new Tween(contenedor, "_y", mx.transitions.easing.Back.easeOut, 0, 30, 20, false);
new Tween(contenedor, "_x", mx.transitions.easing.Back.easeOut, 0, 30, 20, false);

contenedor.onPress = function(){
var clipTween:Object = new Tween(contenedor, "_alpha", mx.transitions.easing.Back.easeOut, 0, 100, 20, false);
clipTween.ref = _root
clipTween.onTweenComplete = function(evt:Object){
evt.ref.gotoAndStop(2); }}



Y SIGUE SIN FUNCIONAR, NO SE A QUE TE REFERIS CUANDO DECIS QUE REMPLACE A "_root" POR LA RUTA QUE CORRESPONDA...POR LAS DUDAS YO LO REMPLACE CON "_root.gotoAndStop (2)" Y TAMPOCO FUNCIONA..... MUCHAS GRACIAS POR SEGUIR RESPONDIENDO, LA VERDAD PENSE QUE IBA A SER MAS SENCILLO... SALUDOS

Por LaMuela

71 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Jun 2009 10:14 pm
Funny, justo tuve que agregar unos Tweens a un banner que estoy haciendo de Kapersky. Funciona/no funciona es como magia, lo importante es que puedas diagnosticar que pasa. Tip: traza todo lo que te viene en el objeto, te pongo el code de la clase en la que estoy trabajando:

Código ActionScript :

var mueve:Object = new Tween(slider, "_x", Regular.easeOut, slider._x, stopList[dest] + 260, 2, true)
mueve.ref = this
mueve.onMotionFinished = function(evt:Object) {
   evt.ref.lastPosX = evt.ref.slider._x
   evt.obj.enabled = true
   for(var i in evt) trace(i+":"+evt[i]) //<- ESTA ES LA LÍNEA QUE TRAZA
}


En mi caso tengo que guardar la posición porque es un slider que va haciendo Tween entre posiciones e intervienen otras variables, mi referencia es a la clase. Pero no te preocupes por eso, la línea que destaco del trace te mostrará una serie de info que quizás te de pistas

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Jun 2009 10:34 pm
Jorge te agradezco mucho el interes en ayudarme a resolver mi problema, se ve que sabes mucho sobre el tema, pero la verdad es que no te entiendo nada de lo que me decis. Yo no estudie programacion ni nada por el estilo, diseño sitios web para pagarme los estudios ( que encima no tienen nada que ver con esto :P ) y aprendi a hacerlo chusmeando foros, tutoriales, etc...
Igualmente te estoy agradecido (repito) pero estoy terminando con esta parte de la web que es una galeria de fotos en donde utilizando el action que mencione al principio del post para que la fotografia se agrande, y solo necesitaba que alguien me dijera como haciendo un click se puede volver a achicar y que me lleve a otro fotograma, es decir algo mas "cocinado" por decirlo de alguna manera y no tanto detectar el problema ya que todavia no reuno el conocimiento necesario para analizar un codigo y detectar una falla. He visto tutoriales tuyos y son mas que interesantes y de los cuales tambien he aprendido, pero la verdad que en esta no te cazo una ^^ ^^ . Igualmete gracias y saludos

Por LaMuela

71 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Jun 2009 10:40 pm
Ok, entiendo. Mi anterior POST, el que edite, era del estilo copy&paste, debería funcionarte, sino ya pídele a alguien que te lo haga o cambia el recurso

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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