Comunidad de diseño web y desarrollo en internet online

Distorsionar un clip de pelicula en AS3????

Citar            
MensajeEscrito el 27 Jun 2008 03:09 pm
Hola!
Quiero distorsionar un movie clip(o bitmap) con AS3.No sesgar lo,si no,distorsionar lo.
Y sin utilizar la geometría de los triangulos,ya que me parece que queda mal.

Hace unos meses encontré un ejemplo de distorsionar imagen con AS2 que era sin nada de deformación indeseada.El código del ejemplo creía movie clips para cada línea de pixels y le cambiaba el .scale.

Si alguien puede dar me un ejemplo de cómo hacer lo mismo en AS3,me ayudaría mucho.
Espero que Flash tenga una clase propia que hace lo mismo,pero de manera nativa y optima para el rendimiento,porque crear un movie clip para cada linea de pixeles de una imagen de 3000 x 2000 quemaría la memoria(o al menos es lo que pienso yo :oops: ).

Cualquier consejo sobre el tema me sería de provecho.

Por Nycksan

73 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Jun 2008 03:44 pm
La técnica de duplicar y escalar es de AS1 (recuerdo haberlo hecho en su momento) pero ya no es necesaria en AS2
Ya en AS2 se puede trabajar a nivel de Bitmaps (getPixel, setPixel) , usualmente combinando filtros y matrices. La manipulación de pixels es muy heavy para AS2, pero en AS3 mejoró mucho. Aqui tengo algunos ejemplos (simulación de filtros de video) http://jorgesolis.net/video/video.html
Luego te recomiendo darte una vuelta por una de las webs indispensables si de manipulavión de bitmaps se trata: http://www.quasimondo.com/

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Jun 2008 10:34 pm
Perdon,parece que me he equivocado de foro sin dar me cuenta.

Oye,solisarg,¿es normal que mi fps baje hasta el 0 con el set pixel de un bitmapdata?
Para comprobar el rendimiento(antes de poner me a hacer algo más complicado como los cortes de final fantasy que me aportaste),hice un enter frame que hace un setpixel a cada uno de los pixeles de una imagen de 1000x800 con un color aleatorio.
¿Es normal que se me cuelgue o es que lo he hecho mal?
¿Cuando haces un setPixel,el pixel anterior de la misma posición se borra de la memoria o se almacena?
¿Ganaré algo de rendimiento si creo un array de pixeles y le aplico algo como color transform con cada frame?
Por ser así,¿cómo hago ese Array de pixeles y luego cambio el color del pixel deseado?
¿Va a salir pronto AS4?
¿Se está muriendo Java?
¿Es un bug del cerebro humano que a veces le parece que el sentido de girar de las aspas del ventilador cambia?
¿Ocultan los lideres mundiales alternativos fuentes de enrgia hasta que se acabe el petroleo?
¿Por qué los predadores siempre empiezan a devorrar a la presa desde los intestinos mientras los humanos en cambio aprecian más el jamón?

Espero que la respuesta sea que "lo he programado mal y por eso no va" y no que "la maquina virtual de flash player 9 se derrumba bajo un simple setpixel".

Hasta otra!

Por Nycksan

73 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Jun 2008 10:45 pm
Cambiar los píxeles de a uno ... mmmm ... a ver, déjame hacer cuentas:

1000x800 = 800.000

Mejor prueba con algo mas chico

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Jun 2008 11:00 pm
Pero lo más chico serviría solo de un ejemplo o un demo o uno de esos estupidos juegos que aparecen a un lado en las paginas tontas.

Me fastidilla el hecho que a veces flash no sirve para cosas serias. :roll:

Pero bien pensando lo,tal vez es debilidad de la función "setPixel" ,porque la de distorsionar imagenes con triangulos va de maravilla y puede manejar gigantescos bitmaps al 60 de fps.
De mi punto de vista para el procesador debería ser el mismo calculo cambiar el color de los pixels que mover los.

No lo comprendo de todo bien.

Ahora mismo voy a crear con un for 800 000 pixels e intentaré mover los por el escenario con random.Si rende mejor,es que es que la función setpixel va mal.

Por Nycksan

73 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Jun 2008 11:12 pm
Acabo de probar lo y se me colgó :(((((((((

Alguien sabe alguna forma de coseguir que fincione lo que yo quiero?

Por Nycksan

73 de clabLevel



 

msie
Citar            
MensajeEscrito el 28 Jun 2008 12:07 am
Me fastidilla el hecho que a veces flash no sirve para cosas serias.


Tengo dos hipótesis:
1. Te equivocaste de herramienta (sugiero proccesing, más adecuados para maestros del pixel, mira quasimodo)
2. Alguno de los dos no reconoce sus límites (Flash o tú)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 Jun 2008 12:39 am
Todos sabemos que flash es muy limitado.

Por Nycksan

73 de clabLevel



 

msie
Citar            
MensajeEscrito el 28 Jun 2008 12:51 am
Toda una declaración de principios ;)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 Jun 2008 04:20 pm

Nycksan escribió:

Todos sabemos que flash es muy limitado.


Todos sabemos que el pésimo trabajador siempre culpa a las herramientas.

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 29 Jun 2008 09:00 am
Me ha costado encontrar información sobre cómo hacer lo en C con classes,pero al fin lo hice.
El mismo ejemplo de los pixeles,el mismo código solo que pasado a C++ y me va como un demonio a pantalla entera en la resolución más alta del escritorio.

Creo que más no tengo que decir. ^^

Por Nycksan

73 de clabLevel



 

msie
Citar            
MensajeEscrito el 30 Jun 2008 09:17 am
C++ es desde hace años el estandard para aplicaciones de escritorio, y el mismo Flash está hecho en C++. Nunca pudes compararlo a Flash y sui buscas máximo velocidad, creo que has encontrado tu lenguaje

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Jun 2008 10:52 am
Si,ya nada más de maquinas virtuales.Directamente compilando a binario. :roll:
Adios a todos,creo que volveré por aquí cuando permitan a Flash compilar directamente para Astro y si es en alfa,mejor. ^^

Por Nycksan

73 de clabLevel



 

msie

 

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