L'éditeur de traitement est difficile à utiliser, le type Java est légèrement désagréable, Quoi qu'il en soit, je veux écrire en Kotlin et le gérer dans Gradle.
Parce que le traitement ne fonctionne pas s'il s'agit de Java 9 ou supérieur 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
Sélectionnez Gradle et vérifiez Java et Kotlin.
Pour Project SDK, spécifiez le 1.8 que vous venez d'installer.
Le reste est sur la route
build.gradle
dependencies {
    compile group: 'org.processing', name: 'core', version: '3.3.7'
}
Ouvrez build.gradle
Ajoutez le "traitement" dans les "dépendances".
Ensuite, le téléchargement commencera.
Lorsque le téléchargement est terminé, il est OK si ʻorg.processing: core est ajouté à ʻExternal Libraries.
Créez un nouveau fichier Kotlin dans src / main / kotlin.
Le nom du fichier est «Main.tk».
src/main/kotlin/Main.tk
import processing.core.*
class Main : PApplet () {
    fun run() {
        return PApplet.main(Main::class.java.simpleName)
    }
}
fun main() : Unit = Main().run()
C'est un état super simple qui décrit uniquement la partie nécessaire à l'exécution du traitement.
Exécutez Run MainKt à partir du triangle qui apparaît à côté de fun main ().
Une fois exécuté,
Une application de traitement vide a été exécutée.
Essayons ** Suivre 3 ** dans les exemples de la formule Traitement et implémentons-le dans Kotlin. https://processing.org/examples/follow3.html
src/main/kotlin/Main.tk
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()
Quand tu fais ça
Vous pouvez voir que le traitement fonctionne correctement.
Si vous écrivez en gradle
build.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'
}
J'ai ajouté clojars.org aux dépôts car mavenCentral n'avait pas ʻoscp5 et controlp5`.
Vous pouvez vous battre avec ça.
Recommended Posts