yo quería implementado un efecto de onda realista en Android también, así que va a compartir mi experiencia:
Como una implementación de referencia i tomó puerto Chikuyonok JavaScript de Sergey de Neil Wallis Java algo. Aquí hay un campo de juego donde puedes experimentar con el código JS original: http://jsfiddle.net/esteewhy/5Ht3b/6/
Al principio, he portado el código JS a Java solo para darme cuenta de que no hay forma de exprimir más de 1 fps en mi hardware Huawei U8100. (Hay varios intentos similares en la red con la única conclusión: son ridículamente lentos).
Por cierto, esta respuesta SO fue bastante útil para obtener una comprensión básica de cómo codificar gráficos interactivos en Android: https://stackoverflow.com/a/4946893/35438. He tomado prestado el contador de fps desde allí.
Luego decidí probar Android NDK para reimplementar algo original en C puro (¡mi primer encuentro con él en más de 10 años!). A pesar de que los documentos de NDK son un poco confusos (especialmente en cuanto a requisitos y requisitos previos), todo funcionó como un hechizo, así que pude lograr hasta 30 fps; puede que no sea demasiado impresionante, pero aún así, una mejora radical respecto al código Java .
Finalmente, he puesto todo mi trabajo en línea: https://github.com/esteewhy/whater, así que siéntete libre de jugar con eso.Contiene:
- código de bola que rebota interactivo mencionado arriba (apenas para la referencia).
- Ondulaciones del agua Puerto de Java (lento como el infierno!)
- Aplicación de las ondulaciones de agua C (necesita NDK para compilar y JDK para crear el archivo .h).
(El proyecto no es "limpia", es decir: todos los binarios están ahí, por lo que se pueden tratar de ejecutarlo "tal cual" incluso sin NDK.)
Uno de los incorporada en los fondos de pantalla en vivo en Android está rizando el agua, por lo que es ciertamente posible. – Wyzard