Ich versuche, Kotlin zu lernen, indem ich durch das Buch "Android Game Programming bei Beispiel" arbeite. Jetzt komme ich nicht weiter zum Erstellen von Threads. In Java wird ein Thread zuerst mit Null definiert und später mit sleep() verzögert. Da ich noch ein Newbe bin, kann ich den Code nicht an meine Bedürfnisse anpassen. So habe ich eine Erklärung für Threads in Kotlin gefunden. Aber ich kann es nicht umsetzen. Kann mir jemand sagen, wie ich das an meinem Beispiel machen soll? Ich schneide die Codezeilen für die Threads aus.Convert Java Thread zu Kotlin
public class TDView extends SurfaceView implements Runnable {
//Thread related
volatile boolean playing;
Thread gameThread = null; //Line 29
...
private void control() {
try {
gameThread.sleep(17); //Line 310
} catch (InterruptedException e) {
//catch things here
}
}
public void pause() {
playing = false;
try {
gameThread.join(); //Line 319
} catch (InterruptedException e) {
//catch things here
}
}
public void resume() {
playing = true;
gameThread = new Thread(this); //Line 327
gameThread.start();
}
Der vollständige Code kann here gefunden werden.
Ich dachte, ich es so tun würde:
private val gameThread: Thread? = null
.
//Line 310 same as Java -- here I can't find the sleep-method
//Line 319 same as Java
.
gameThread? = Thread(this)
gameThread.start()
P. S. Ich habe this Artikel zu lesen, aber ich weiß nicht, wie es zu passen.
Ich denke, es wäre einfacher, wenn Sie Ihren vollen Kotlin-Code veröffentlichen, anstatt zu versuchen, bestimmte Abschnitte zu überspringen. Ich kann sehen, was Sie erreichen wollten, aber der vollständige Code wäre hilfreicher. – Michael
Und was genau ist die Frage? Nicht klar für mich. – AxelH
Ich würde gerne wissen, wie man diesen Code korrekt in Kotlin schreibt. Wie würdest du und warum? @Michael hier mein Code im Moment (https://gist.github.com/willhoh/9c6e8bc18983f86af3e6e0e2aa1fd499) – WillHoh