2016-02-11 1 views
2

Je veux essayer une application basée sur l'accélération dans play-clj, mais je ne sais pas comment accéder au gyroscope et à l'accéléromètre à partir de clojure.play-clj Android: Accéléromètre d'accès

En Java, j'accéderais à Gdx.input.getAccelerometerX(). play-clj n'offre pas d'événements correspondants dans sa macro defscreen, et je n'arrive pas à comprendre la syntaxe pour appeler le Gdx.input -accelerometer directement.

(import 'com.badlogic.gdx.Gdx) ;; Gdx should be a singleton, right? 
(.-input Gdx) ;; no such field 
(.input Gdx) ;; no such method 

Maintenant, que dois-je faire? Devrais-je préférer accéder directement aux capteurs de l'appareil?

Répondre

0

Je ne sais rien à propos de Gdx, mais le Javadoc for com.badlogic.gdx.Gdx me dit que Gdx.input est un champ statique de la classe Gdx, pas le champ d'une instance singleton.

Le Java correct Interop doit donc être:

(import 'com.badlogic.gdx.Gdx) 
(.getGyroscopeX Gdx/input) 
+0

Vous avez raison ... la possibilité d'un champ statique ne sont pas venus à mon esprit, je toujours utilisé comme si elle était un singleton quand J'ai écrit des applications Java avec. Votre solution fonctionne comme un charme. – waechtertroll