Skip to content

Instantly share code, notes, and snippets.

@takumikinjo
Created June 18, 2011 06:34
Show Gist options
  • Save takumikinjo/1032864 to your computer and use it in GitHub Desktop.
Save takumikinjo/1032864 to your computer and use it in GitHub Desktop.
ojagnaha0618
;;;;;;;;; かきかえのやつ
(import [android.widget TextView LinearLayout])
(. de.exterm.android.swank/handler
(post (fn []
(let [context de.exterm.android.swank/context
li (new LinearLayout context)]
(.setOrientation li LinearLayout/VERTICAL)
(let [tv (new TextView context)]
(.setText tv "Hello, AAA")
(.addView li tv))
(.setContentView context li)))))
;;;;;;; GL のやつ
(import [android.opengl GLSurfaceView]
[de.exterm.android SpriteRenderer Sprite])
;; かきかえ
(. de.exterm.android.swank/handler
(post (fn []
(do
(let [context de.exterm.android.swank/context
mGLView (new GLSurfaceView context)]
(. mGLView (setEGLConfigChooser false))
(let
[renderer de.exterm.android.swank/renderer]
(. mGLView (setRenderer renderer))
(.setContentView context mGLView)))))))
;; run ちゃん
(let [renderer de.exterm.android.swank/renderer]
(.appendSprite renderer "foo" (new Sprite 0 0 0 1)))
;; run ちゃんはうごく
(.put SpriteRenderer/runnables
"su3"
(fn []
(do
(let [sprite (.get SpriteRenderer/sprites "su")]
(.setX sprite (+ (.getX sprite) 0.001))
(.setY sprite (- (.getY sprite) 0.001))))))
;; su ちゃん
(let [renderer de.exterm.android.swank/renderer]
(.appendSprite renderer "su" (new Sprite 0 0 0 1)))
;; su ちゃん拡大
(.put SpriteRenderer/runnables
"su"
#(do
(let [sprite (.get SpriteRenderer/sprites "su")]
(.setScale sprite (+ (.getScale sprite) 0.001)))))
;; miki ちゃん
(let [renderer de.exterm.android.swank/renderer]
(.appendSprite renderer "miki" (new Sprite 0 0 0 1)))
;; まわる
(import [android.os SystemClock])
(.put SpriteRenderer/runnables
"su2"
#(do
(let [sprite (.get SpriteRenderer/sprites "su")]
(.setAngle
sprite
(.floatValue
(let [time (mod (. SystemClock uptimeMillis) 4000)]
(* time 0.09)))))))
(.put SpriteRenderer/runnables
"run2"
#(do
(let [sprite (.get SpriteRenderer/sprites "run")]
(.setAngle
sprite
(.floatValue
(let [time (mod (. SystemClock uptimeMillis) 4000)]
(* time 0.09)))))))
;; http://bit.ly/iT8xtH の件
;; (new Sprite 0 0 0 1
;; (fn [sprite] ; <= ここ! sprite という引数 == このスプライト自身
;; (.setX sprite (+ (.getX sprite) 0.001))))
;; これ、こうすりゃ良いのでは
;; (let ((sprite (new Sprite 0 0 0 1
;; (fn []
;; (.setX sprite (+ (.getX sprite) 0.001)))))))
;; こうなりました
(let [sprite (new Sprite 0 0 0 1)]
(doto sprite
(.setRunnable
#(do
(.setX sprite
(+ (.getX sprite) 0.001))))))
(.appendSprite de.exterm.android.swank/renderer
"su"
(let [sprite (new Sprite 0 0 0 1)]
(doto sprite
(.setRunnable
#(do
(.setX sprite
(+ (.getX sprite) 0.001)))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment