Comunidad de diseño web y desarrollo en internet online

Movimiento con aceleracion y deceleracion...

Citar            
MensajeEscrito el 08 Feb 2007 10:10 am
Hola, buenas a todos. Tengo un problemilla en un codigo que estoy gastando. A ver si alguien puede ayudarme...

Tengo este codigo para cuando aprieto un boton que esta dentro de mi clip mover dos objetos sobre el escenario, eso me funciona, pero lo que me gustaria es que se moviera con aceleracion y desaceleracion o con movimiento eassing...no? como puedo hacerlo?

El codigo que gasto es este:

on (release) {
_root.miclip._x=900;
_root.miclip._y=300;
}
on (release) {
_root.ese._x=-340;
_root.ese._y=280;
}

Por checa69

17 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 08 Feb 2007 01:30 pm
Primero, te recomiendo escribir el código en los fotogramas para trabajar más ordenado. Es bueno que recién comiences, porque si te pegás esas malas costumbres, no te las sacás más.

Por otro lado, lo que vamos a hacer es un pequño código con easing, lo más simple posible.

Código :

boton1.onRelease = function () {
ese.posFinal._x = -340;
ese.posFinal._y = 280;
};
boton2.onRelease = function () {
miClip.posFinal._x = -340;
miClip.posFinal._y = 280;
};
onEnterFrame = function () {
ese.posFinal = ese._x;
ese._x += (ese.posFinal - ese._x) / 4;
miClip.posFinal = ese._x;
miClip._x += (miClip.posFinal - miClip._x) / 4;
};


Claro que también tenés que nombrar a tus botones como boton1 y boton2, pero fuera de eso, no hay que hacer nada más. Pensá que el código anterior va en el frame.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 09 Feb 2007 01:19 pm
Hola, que tal? gracias por lo que me has pasado, pero mi problema es que tengo que lo que tengo que mover con easing tiene que tener los botones dentro de lo que se mueve... donde te puedo pasar lo que tengo hecho para que lo veas?

un saludo y gracias.

Por checa69

17 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 09 Feb 2007 04:27 pm
No hace falta, si el objeto tiene los botones, usás el mismo código, pero ponés el nombre del MC antes del nombre de los botones. Acá te muestro cómo es:

Código :

miClipboton1.onRelease = function () {


Código :

miClipboton2.onRelease = function () {


El MC que se mueve debe estar instanciado como miClip y los botones como boton1 y boton2.

Respecto al .fla, no soy muy amigo de eso, prefiero resolverlo así y que la respuesta quede en el foro para el futuro en caso de que alguien tenga tu misma duda.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 09 Feb 2007 06:56 pm
Hola, que tal?? lo siento mucho, pero no consigo hacerlo funcionar... le pongo el codigo que tu me has puesto, pero no me hace nada... que estoy haciendo mal? tambien he nombrado el mc y los botones como miClip y boton1 y boton2, pero no funciona... me lo puedes mandar funcionando para que le de un vistazo? mi correo es [email protected]

gracias, un saludo.

Por checa69

17 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 09 Feb 2007 11:08 pm
...ok,
tu tienes un mc llamemosle "clip", dentro de este hay dos botones, a los q llameremos "btn_01" y "btn_02"; bien, ahora en la linea de tiempo donde se encuentra el mc, osea "clip", hay dos mc's a los q hay q mover, esots se llamaran "mc_01" y "mc_02", ahora en un fotograma pon el sig codigo:

Código :

//le damos la ecuasion de easing a cada clip
//y la variables posx y posy son las q los pocisionaran
mc_01.onEnterFrame = function (){
      this._x += (this.posx - this._x) /5;
      this._y += (this.posy - this._y) /5;
}
mc_02.onEnterFrame = function (){
      this._x += (this.posx - this._x) /5;
      this._y += (this.posy - this._y) /5;
}
//ahora le damos las acciones a los botones
//usamos with para escribir dentro de clip
with(clip){
    btn_01.onRelease = function (){
        _root.mc_01.posx = 100;
        _root.mc_01.posy = 250;
    }
    btn_02.onRelease = function (){
        _root.mc_02.posx = 300;
        _root.mc_02.posy = 150;
    }
}


espero se entienda :wink:

Por nahaliel

69 de clabLevel



Genero:Masculino  

in the middle of nowhere

msie
Citar            
MensajeEscrito el 10 Feb 2007 02:49 pm

checa69 escribió:

no consigo hacerlo funcionar...
Bueno, es mi culpa, me equivoqué.

En lugar de:

Código :

miClipboton1.onRelease = function () {

Va:

Código :

miClip.boton1.onRelease = function () {


Observá el punto. Eso era todo, poné el punto ahí y en el boton2.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 11 Feb 2007 06:28 pm
Hola HernanRivas:
Lo siento mucho, no se si esque soy yo o que esta pasando, pero no me reconoce nada, no se me mueve de ninguna de las formas, ni poniendo el boton fuera ni dentro ni de ninguna de las formas... no habria la posibilidad de que me pasaras el swf para que lo comparara a ver que estoy haciendo mal...? gracias. mi correo es [email protected]

Por checa69

17 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 12 Feb 2007 08:56 am
hola Checa69

Busca hosting gratuitos para subir tu fla para que podamos ver y probarlo.

Y decir donde te estas equivocando.

:D

Por Suriv

131 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Feb 2007 04:57 am
Hola de nuevo... lo siento por molestar tanto por una tonteria...

te lo he dejado en esta pagina... mira a ver si puedes verlo, gracias. un saludo.


http://es.msnusers.com/MarketingMio/documentos.msnw

el archivo se llama "sin titulo-1"



Gracias

Por checa69

17 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 13 Feb 2007 02:17 pm
Aunque le mandé el .fla a checa69, dejo el código para el que lo necesite.

En toda la película lo único que puse es éste código en el fotograma y un MC (nombre de instancia: clip) con 2 botones dentro del mismo. Estos botones los nombré btnIzq y btnDer, ya que mueven el MC hacia la izquierda y la derecha, respectivamente.

Código :

//
// Éstas son las variables que vamos a usar
var posFinal:Number;
var moviendo:Boolean = false;
//
// Este es el código de los 2 botones, sólo cambian la variable moviendo y la posición final
clip.btnIzq.onRelease = function () {
if (!moviendo) {
moviendo = true;
posFinal = 100;
}
};
clip.btnDer.onRelease = function () {
if (!moviendo) {
moviendo = true;
posFinal = 450;
}
};
//
// Éste onEnterFrame es el responsable del movimiento
onEnterFrame = function () {
if (moviendo) {
//
// Esto cambia la posición en x con easing
clip._x -= (clip._x - posFinal) / 8;
//
// Éste if no es estrictamente necesario, si se lo quiere quitar, hay que quitar también los ifs de los botones.
if (Math.abs (clip._x - posFinal) < .5) {
clip._x = posFinal;
moviendo = false;
}
}
};


En caso de no usar la variable moviendo, se pueden presionar los botones mientras se mueve el clip. La variable sirve para que haya que esperar a que el movimiento termine para presionar los botones.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 13 Feb 2007 02:52 pm
Hola, que tal?? millones de gracias Hernan Rivas... Ya me funciona de puta madre, lo unico es preguntarte que le tengo que implementar para poder moverlo en posicion x e y. En vez de cuando pulso el boton derecha, irse solo hacia la derecha, necesito que se situe hacia la derecha y hacia arriba y abajo, por ejemplo, cuando pulse este boton se ponga en x = 100 e y=150... gracias tio. un saludo y espero poder enseñarme pronto para poder colaborar con vosotros tambien...

Por checa69

17 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 13 Feb 2007 02:58 pm
Es la misma lógica. Tratá copiando el código que mueve en x y hacé que se mueva en y. No es difícil y lo podés hacer sólo. Ya te mostré cómo hacerlo, ahora adaptarlo es tu trabajo.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 13 Feb 2007 02:59 pm
lo estoy leyendo y no se si me explico bien.... osea, esta bien el movimiento, pero solo lo posiciono en x, me gustaria posicionar en x e y con el mismo boton que desplaza...

Por checa69

17 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 13 Feb 2007 03:04 pm
Exacto, pero el archivo te lo mandé hace 15 minutos... Esforzate, te aseguro que es muy fácil, especialmente contando con un código ejemplo.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 13 Feb 2007 03:18 pm
ok...lo estoy intentado, pero lo que he conseguido es que se me mueva en diagonal, pero no a una cordenada exacta en x y otra en y.... voy a seguir a ver si lo consigo... alguna pista? bueno, gracias por todo.

Por checa69

17 de clabLevel



Genero:Masculino  

msie

 

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