ProcessingをIntelliJ+Kotlin+Gradleで開発する
Processingのエディタ使いにくいし、Javaもどきが微妙に気持ち悪いし、
どうせならKotlinで書きたいし、Gradleで管理したいよねって趣旨。
Java8をインストールする
ProcessingがJava9以上だと動かないため
https://github.com/processing/processing/wiki/Supported-Platforms#user-content-java-versions
$ brew cask reinstall caskroom/versions/zulu8
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
10.0.2, x86_64: "Java SE 10.0.2" /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
1.8.0_222-zulu-8.40.0.25, x86_64: "Zulu 8" /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
新しいプロジェクトを作成
Gradle を選択し、 Java と Kotlin にチェックを付けます。
Project SDK
はさっきインストールした 1.8
を指定してください。
あとは道なりに
GradleにProcessingを追加
dependencies {
compile group: 'org.processing', name: 'core', version: '3.3.7'
}
build.gradle
を開き
dependencies
の中に processing
を追加します。
するとダウンロードが開始されます。
ダウンロードが完了したら、 External Libraries
に org.processing:core
が追加されていればOKです。
プログラムを作成
src/main/kotlin
に新しいKotlinファイルを作成します。
ファイル名は Main.tk
にしました。
import processing.core.*
class Main : PApplet () {
fun run() {
return PApplet.main(Main::class.java.simpleName)
}
}
fun main() : Unit = Main().run()
Processing実行に必要な部分のみを記述した超シンプルな状態です。
実行してみる
fun main()
の隣に表示される三角形から Run MainKt
を実行してください。
実行されると、
空のProcessingアプリが実行されました。
Kotlinで実装してみる
Processing公式の中にあるExamplesのFollow 3を試しにKotlinで実装してみます。
https://processing.org/examples/follow3.html
import processing.core.*
class Main : PApplet () {
var x = FloatArray(20)
var y = FloatArray(20)
var segLength = 18
override fun settings() {
size(640, 360)
}
override fun setup() {
strokeWeight(9F)
stroke(255F, 100F)
}
override fun draw() {
background(0f)
dragSegment(0, mouseX.toFloat(), mouseY.toFloat())
for (i in 0 until x.size - 1) {
dragSegment(i + 1, x[i], y[i])
}
}
private fun dragSegment(i: Int, xin: Float, yin: Float) {
val dx = xin - x[i]
val dy = yin - y[i]
val angle = PApplet.atan2(dy, dx)
x[i] = xin - PApplet.cos(angle) * segLength
y[i] = yin - PApplet.sin(angle) * segLength
segment(x[i], y[i], angle)
}
private fun segment(x: Float, y: Float, a: Float) {
pushMatrix()
translate(x, y)
rotate(a)
line(0F, 0F, segLength.toFloat(), 0F)
popMatrix()
}
fun run() {
return PApplet.main(Main::class.java.simpleName)
}
}
fun main() : Unit = Main().run()
これを実行すると
Processingが無事に動作しているのが確認できます。
ライブラリーを追加する
gradleに記述すると
repositories {
mavenCentral()
maven { url "https://clojars.org/repo" }
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
testCompile group: 'junit', name: 'junit', version: '4.12'
compile group: 'org.processing', name: 'core', version: '3.3.7'
compile group: 'ddf.minim', name: 'ddf.minim', version: '2.2.0'
compile group: 'controlp5', name: 'controlp5', version: '2.2.4'
compile group: 'de.sojamo', name: 'oscp5', version: '0.9.8'
}
mavenCentral には oscp5
と controlp5
がなかったため、 clojars.org
を repositories に追加しました。
おわり
これで戦える。
Author And Source
この問題について(ProcessingをIntelliJ+Kotlin+Gradleで開発する), 我々は、より多くの情報をここで見つけました https://qiita.com/narikei/items/f09cd510bcb2dbb267cb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .