2010-04-18 11 views
14

me gustaría usar el UIView "succión" transición (la vista está "aspirado" en un punto) hace referencia aquí:UIView "chupar" animación

http://iphonedevwiki.net/index.php/UIViewAnimationState#Using_suckEffect

El método anterior, sin embargo, utiliza privado API, lo que lo hace inútil para una aplicación App Store. ¿Cómo puedo recrear un efecto similar sin depender de API privadas? Supongo que la respuesta tiene que ver con OpenGL, aunque no tengo experiencia allí.

+3

Gran pregunta (no tengo una respuesta) pero va a ser un gran día cuando un tipo de gráficos inteligente o gal pone a cabo una caída en la biblioteca con alta calidad succionar/Genie y página efectos de curling. Hasta entonces, creo que las personas simplemente cocinan sus propias pseudo-versiones (inferiores). De acuerdo, entonces no tengo una respuesta, pero es probable que tengas que ocuparte de representar una textura en alguna geometría en OpenGL y animar la deformación. –

+0

posible duplicado de http://stackoverflow.com/questions/428110/how-can-i-replicate-the-trashing-animation-of-mail-app – kennytm

+1

@quixoto: Sí, ese es el camino que yo estaba pensando en ir hacia abajo , aunque aún no tengo ni idea de en qué dirección comenzar a dirigirme. @KennyTM: Mi pregunta difiere ligeramente en que no quiero usar API privadas. ¿Esto todavía es un duplicado? – igul222

Respuesta

-3

tienen que checkked el marco cocos2d. es un contenedor objetivo c para openGL y está muy bien hecho. puede ver su video de demostración que muestra todos los tipos de transición que admite la biblioteca.

7

Mientras Apple no documentar públicamente el efecto, y se quiere evitar el riesgo de ser rechazado por el uso de la API privada que tendrá que rodar su propia.

Una sugerencia para empezar a trabajar en esto sería el uso de shaders de OpenGL ES.

La siguiente entrada del blog incluye un parche de cuarzo de demostración Compositor para crear el efecto Genie como se ve en OS X y iOS: http://www.aderstedtsoftware.com/users/erik/weblog/c7cb9/

Un buen comienzo para su sombreado de OpenGL ES sería utilizar el código en el Genie Filtra en este archivo QuartzComposer. El código casi se puede copiar a un sombreador para OpenGL como está. Lo más probable es que integre OpenGL en su aplicación: represente la textura correcta de OpenGL y superponga OpenGL sobre su aplicación para realizar la animación basada en su sombreador.

+0

Los enlaces parecen estar muertos – SwiftsNamesake

3

favor, eche un vistazo a mi proyecto en git: //github.com/rmd6502/Genie.git - es muy lento en este momento, pero las mejoras estarán disponibles en breve.

+2

[Aquí] (https: // github.com/Ciechan/BCGenieEffect # bcgenieeffect) es algo similar ... pero funciona más rápido – janisz

Cuestiones relacionadas