Comunidad de diseño web y desarrollo en internet online

mouse wheel

Citar            
MensajeEscrito el 21 Jul 2020 03:16 pm
Hola
resulta que tengo un clip de pelicula basico digamos
en el fotograma 1 tengo un stop
en cada frame tengo una imagen distinta a la que puedo acceder por medio de botones.
me gustaria poder darle la opcion de que el clip avanzara o retrocediera con la rueda del boton.
o sea rueda del boton para delante nextframe rueda del boton para atras prevframe.
pero no tengo idea como se hace. por lo que lei seria con la funcion mouse wheel.
si alguien me puede dar una mano ma que agradecido.
saludos

Por enriqueb

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 21 Jul 2020 06:33 pm
En AS3 era algo asi

Código ActionScript :

stage.addEventListener(MouseEvent.MOUSE_WHEEL, scrollObject);

function scrollObject(event:MouseEvent):void
{
    trace(event.delta);
}


Mira que valores te tira delta, tendras que normalizarlo de alguna forma que convierta en un entero compatible con la cantidad de frames que tienes

Jorge

Por solisarg

BOFH

13636 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 21 Jul 2020 06:58 pm
gracias amigo lo voy a probar!

Por enriqueb

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 22 Jul 2020 11:00 am
No funcionó... mala mia.
Me olvide de ver que version... y esta hecho todo en AS 2.0
En esta versión se puede hacer??
Por cierto, el clip tiene 7 fotogramas.... en realidad son como 30 clips. Pero obviamente pensaba copiarle y pegarle el codigo a cada uno.
El mensaje que me tiro fu este:

https://gyazo.com/551a3c92e1e75295f3f48109d30db6da

Por enriqueb

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 22 Jul 2020 01:22 pm
Uff, no tengo tanta memoria historica :)
Igual algunos foros siguen en pie y algo asi si podria ser (creo)

Código ActionScript :

var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
console.log(delta);
}
Mouse.addListener(mouseListener);


Jorge

Por solisarg

BOFH

13636 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 22 Jul 2020 02:19 pm
Gracias Jorge... pero lamentablemente no funciono... que macana

Por enriqueb

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 22 Jul 2020 02:20 pm
te sigo en twitter

Por enriqueb

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Jul 2020 05:39 am
Ok, abri Flash ... que hace mas de un año que no lo habria, En vez de

console.log(delta);

que es de Javascript, tienes que hacer

trace(delta)

Y funciona

Jorge

Por solisarg

BOFH

13636 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 23 Jul 2020 02:04 pm
va queriendo
me traza en salida
lo que me falta es poder hacer que el clip avance o retroceda
lo unico que hace ahora es trazar

https://gyazo.com/218f1e52eba2b6f068852bd378cf7afd

Por enriqueb

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Jul 2020 01:58 pm
[/quote]tendras que normalizarlo de alguna forma que convierta en un entero compatible con la cantidad de frames que tienes[/quote]

Eso quiere decir por ejemplo:

- Haces pruebas dandole a la ruedita y miras que tipo de salida te da
- Defines un rango (desde los nros mas pequeños a los mas altos)
- Sabiendo el rango, puedes pensar en 'saltos' restando las diferencias desde una posicion hasta otra, que despues conviertes en un entero
- Por ejemplo, lectura una es 0.25 y la siguiente 3 ... avanzas 1 (una diferencia de tres es un cuadro, mas don dos, etc)

La regla de avance la tienes que poder crear tu en base a los numeros que recibas

Jorge

Por solisarg

BOFH

13636 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 24 Jul 2020 02:11 pm
Cuando ruedita va para delante tira 3, cuando va para atras -3
no puede ser algo asi como que si delta es igual a 3 nextframe y si delta es igual a -3 prevframe
???
no soy programador amigo, no tengo idea en realidad... hace unos 10 años hice algunas webs en flash, pero siempre cosas muy basicas. ahora por otra cuestión tengo que arreglar este archivo.
no tengo problemas en pagarte algo si me ayudas a terminarlo.
saludos

Por enriqueb

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Jul 2020 02:31 pm
No hace falta, me parece bien lo que planteas, seria entonces

Código ActionScript :

mouseListener.onMouseWheel = function(delta) {
if(delta>3) nextframe()
else if(delta<-3) prevframe()
}


Jorge

Por solisarg

BOFH

13636 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 25 Jul 2020 08:28 pm
Bueno estamos cerca... de antemano gracias Jorge.
El script que me pasaste no funciono. Pero a ojo despues de varias pruebas logre que vaya queriendo.
No entiendo porque pasa lo que pasa ahora... resulta que cuando lo estoy probando parece andar barbaro, pero luego empieza a enloquecer y a ir para delante o para atras de a 3 fotogramas o incluso a mas.
Lo que tengo hasta ahora quedo asi.

var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
if (delta == "3") {
prevFrame();
} else if (delta == "-3") {
nextFrame();
}
}
Mouse.addListener(mouseListener);

Por enriqueb

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Jul 2020 05:35 am
Probablemente lo estes declarando en un fotograma por el que vuelves a pasar, entonces lo redeclaras, y asi acumulas. Cuanto mas veces lo declaras mas rapido se mueve entre fotogramas. La clave es que lo declares en un fotograma por el que no vuelvas a pasar. Suponiendo que fuera el 1 deberias agregar

if(this._currentFrame >=3) prevFrame();

Jorge

Por solisarg

BOFH

13636 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 27 Jul 2020 11:56 am
disculpa jorge pero no entiendo, donde agrego eso? como quedaria completo?
saludos

Por enriqueb

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 28 Jul 2020 10:47 am
Donde dice

prevFrame();

Deberia decir

if(this._currentFrame >=3) prevFrame();

Lo que deberia ocurrir es que no puedes llegar nunca al fotograma 1 con la ruedita, que es en donde debe estar todo este codigo

Jorge

Por solisarg

BOFH

13636 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 28 Jul 2020 01:25 pm
segun lo que me dijiste quedo:

var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
if (delta == "3") {
if(this._currentFrame >=3) prevFrame();
} else if (delta == "-3") {
if(this._currentFrame <=3) nextFrame();
}
}
Mouse.addListener(mouseListener);

y hace exactamente lo mismo... pasa tal cual me decis, una vez que vuelve a pasar por un fotograma comienza a saltar de a dos y luego de a tres etc
se tendra que hacer de otra forma?

Ademas me di cuenta de lo que decis... si no paso por el foograma 1 no tilda.
Lo podria solucionar agregando un fotograma, corriendo todas las imagenes, cambiando la direccion de botones. nunca pasaria por el uno y andaria bien.
pero surge otra problema. son muchos clips iguales obviamente con distintas cosas.
cuando yo salto a otro clip (que tambien tendria que poner ese codigo) y vuelvo ahi comienza nuevamente a saltar de a 2 o 3 fotogramas.
Ya ahi no entiendo mas nada.

Por enriqueb

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 29 Jul 2020 06:36 am
En el codigo esta linea no tiene sentido

if(this._currentFrame <=3) nextFrame();

Lo que no quieres es volver al primero, pero para adelante no hay problema. Podrias chequear si estas en el ultimo, pero creo que nextFrame, si no hay mas frames, simplemente no hace nada, asi que lo dejamos en

nextFrame();

Que es como lo tenias antes.

Bien, si la estructura de mi peli es una foto por fotograma, pongo este codigo en el fotograma 1, un stop en el fotograma dos y listo, deberia funcionar. No tienes que agregarlo de nuevo, funciona todo el tiempo, no importa en que fotograma estes, pruebalo

Jorge

Por solisarg

BOFH

13636 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 31 Jul 2020 02:26 pm
Pude solucionarlo. Puse el codigo tal cual dijiste, pero en un clip que estaba en una instancia superior. antes del prevframe o nextframe puse la direccion. Ahi funciona bien.
Ahora el tema que tengo es que son varios clips distintos. Si yo tuviera por fuera estos clips... en una carpeta aparte, los levanto con loadMovie... pero los tengo en la biblioteca del mismo .fla... en ese caso que se usa para hacer que tal .mc reproduzca otro .mc que esta en la biblioteca?

Por enriqueb

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 31 Jul 2020 04:22 pm
Para traer un clip de la biblioteca se usaba si mal no recuerdo, attachMovie, y tenias que hacer right click en el clip y darle un identificador en la libreria, miralo en la ayuda, es que ya no me acuerdo nada de AS2

Jorge

Por solisarg

BOFH

13636 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome

   Página 1 de 1

 

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