2012-03-04 13 views
9

? Estoy haciendo un motor de juego que está dirigido a la plataforma Android que usa Java y quisiera incrustar un lenguaje de scripting en él. He probado Jython, LuaJava y Groovy, pero ninguno de los .jar que incluí en mi proyecto para utilizar los idiomas funciona. Como resultado, mi motor de juego no se ejecuta.¿Hay un lenguaje de script que pueda incrustar en mi aplicación Java en Android

Soy consciente de que la plataforma Android compila la aplicación en bytecode java y luego la convierte en formato .dex compatible con Dalvik, ya que Android usa la máquina virtual Dalvik. Así que estoy bastante seguro de que, lamentablemente, estos lenguajes de scripting probablemente no funcionarán para un proyecto de aplicación Java en Android.

Así que mi pregunta es, ¿existe un lenguaje de scripting que pueda incrustar en mi motor de juegos Java que funcionará en la plataforma Android?

Gracias.

+0

Hay dos frameworks de desarrollo de juegos de Lua para Android (Corona SDK, Moai), por lo que Lua sigue siendo una opción incluso si aún no lo has conseguido. Vendetta Online se puede extender en el dispositivo con scripts Lua. De todos modos, ¿quieres un idioma para desarrollar tu aplicación o un idioma para que tus usuarios lo usen para extender tu aplicación? El 'lenguaje de scripting' difumina ambos usos. –

+0

Un idioma para que mis usuarios usen para extender mi aplicación –

Respuesta

0

Clojure sería una opción, definitivamente funciona en Android, ¡incluso tengo un Clojure REPL app en mi HTC mientras hablamos!

También puede encontrar las respuestas a Java: Scripting language (macro) to embed into a Java desktop application útil.

+0

... ¿y qué tan bien funciona? ¿Cuánta sobrecarga agrega, en todos los sentidos? ¿Cuánto tiempo demora una aplicación usando clojure para comenzar? ¿Qué cantidad de una aplicación 'clojure' debe escribirse en Java? Pregunto porque las respuestas a estas preguntas solían ser completamente terribles, y aun así la gente hablaba de cómo alguien, no ellos, podía usar Clojure lento como melaza de 2 segundos de inicio. –

+0

No lo han comparado, así que no tengo idea. Pero Clojure en general es ahora uno de los lenguajes dinámicos más rápidos en la JVM, generalmente dentro de un factor de 2-3 de lenguajes de tipo estático como Scala o Java: http://shootout.alioth.debian.org/u64q/which- programming-languages-are-fastest.php – mikera

+0

Dalvik no es la JVM, y para responder razonablemente a mis preguntas, solo necesita haber usado Clojure para desarrollar una aplicación de Android. Las respuestas incluirían "no, no he notado ningún retraso de inicio inusual". "Agrega aproximadamente .5M al tamaño del archivo APK, después de ProGuard, pero no he intentado reducirlo", etc. –

2

Uso DeeLang

Se debe trabajar por lo que lo está utilizando para o por lo menos lo que parece que lo está utilizando para.

URL ref: http://code.google.com/p/deelang/

+0

Como dijo mikera ... hay muchas respuestas en Stack Overflow que se relacionan con esto. Sigue buscando si lo que encuentras aquí no te conviene. – aStackofQueues

+0

¿Hay ejemplos completos del uso de DeeLang? Busqué en Google pero no pude encontrar nada. Construí los frascos y los documentos. El ejemplo en esta página ofrece algunas ideas, pero no está completo (por ejemplo, cómo sería la sintaxis de DeeLang en ese ejemplo). http://code.google.com/p/deelang/wiki/UsingDeeLang. –

0

LuaJava se puede utilizar en Android. Precisamente comencé con AndroLua que ofrece un ejemplo de trabajo.

Cuestiones relacionadas