[JAVA] Entwickeln Sie die Verarbeitung mit IntelliJ + Kotlin + Gradle

Der Verarbeitungseditor ist schwer zu bedienen, Java-ähnlich ist etwas unangenehm, Wie auch immer, ich möchte in Kotlin schreiben und es in Gradle verwalten.

Installieren Sie Java 8

Weil die Verarbeitung nicht funktioniert, wenn es sich um Java 9 oder höher handelt 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

Erstellen Sie ein neues Projekt

Wählen Sie Gradle und überprüfen Sie Java und Kotlin.

Geben Sie für "Project SDK" die soeben installierte "1.8" an.

Der Rest ist entlang der Straße

Verarbeitung zu Gradle hinzugefügt

build.gradle


dependencies {
    compile group: 'org.processing', name: 'core', version: '3.3.7'
}

Öffnen Sie build.gradle Fügen Sie "Verarbeitung" innerhalb von "Abhängigkeiten" hinzu.

Dann startet der Download. Wenn der Download abgeschlossen ist, ist es in Ordnung, wenn "org.processing: core" zu "Externe Bibliotheken" hinzugefügt wird.

Erstellen Sie ein Programm

Erstellen Sie eine neue Kotlin-Datei in src / main / kotlin.

Der Dateiname lautet "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()

Es ist ein supereinfacher Zustand, der nur den Teil beschreibt, der zum Ausführen der Verarbeitung erforderlich ist.

Versuche zu rennen

Führen Sie "Run MainKt" aus dem Dreieck aus, das neben "fun main ()" angezeigt wird.

Wenn ausgeführt,

Eine leere Verarbeitungs-App wurde ausgeführt.

Versuchen Sie mit Kotlin zu implementieren

Versuchen wir ** Follow 3 ** in Beispielen in der Verarbeitungsformel und implementieren Sie es in 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()

Wenn du das machst

Sie können sehen, dass die Verarbeitung ordnungsgemäß funktioniert.

Fügen Sie eine Bibliothek hinzu

Wenn Sie in Gradle schreiben

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'
}

Ich habe clojars.org zu Repositories hinzugefügt, weil mavenCentral nicht oscp5 und controlp5 hatte.

Ende

Sie können damit kämpfen.

Recommended Posts

Entwickeln Sie die Verarbeitung mit IntelliJ + Kotlin + Gradle
(IntelliJ + gradle) Hallo Welt mit Spring Boot
Weihnachten mit Verarbeitung
Verwenden Sie ProGuard mit Gradle
Integrationstest mit Gradle
So erstellen Sie eine Docker-Umgebung mit Gradle for IntelliJ
Installieren Sie Gradle auf ubuntu16.04
Datenkern beginnend mit Gradle
Remote-Debugging mit Intellij
So installieren Sie Gradle und Kotlin mit SDKMAN (Mac)
Verwenden Sie WebJars mit Gradle
Beginnen Sie mit Gradle
Verwenden Sie jlink mit gradle
Erstellen Sie mit Gradle ein Java-Multiprojekt
Erste Schritte mit der Verarbeitung von Doma-Annotationen
Gradle + Kotlin-Glas mit DSL generieren
Schreibverarbeitung in IntelliJ IDEA
Entwickeln Sie C-Programme mit Guard
Feder mit Kotorin --6 Asynchrone Verarbeitung
Hot Deploy mit IntelliJ IDEA
Lombok arbeitet nicht mit Gradle5
Präsentationsfolie mit Verarbeitung erstellt
Hallo Welt mit SpringBoot / Gradle