0

ここにある Vec2D クラスから randomVector メソッドを呼び出そうとしていますhttp://toxiclibs.org/docs/core/

これが私のコードです:

(def particles (new ArrayList))


(defn add-particle []
  (dotimes [i 100]
    (doto particles
      ;(.add (new Vec2D (random (width)) (random (height))))
      (.add (Vec2D/randomVector))))

これまでのところうまくいきましたが、同じクラスから scale や add などの他のメソッドを呼び出す必要があります。Clojure でそれを行う方法がわかりません

Javaで行う方法は次のとおりです。

Vec2D position = Vec2D.randomVector().scale( 60 ).add( canvasCenter );

どんな助けでも大歓迎です

4

1 に答える 1

2

次のコードを試してみてください。Java静的メソッドは次のように呼び出す必要があります(ClassName/methodName arguments)

(defn add-particle []
  (dotimes [i 100]
    (doto particles
      (.add (Vec2D/randomVector)))))

2 番目の質問については、どこかを定義する必要がありますcanvasCenter

(defn add-particle []
      (dotimes [i 100]
        (doto particles
          (.add (.scale (Vec2D/randomVector) (float 60)) canvasCenter)))
于 2013-03-13T16:20:46.437 に答える