aboutsummaryrefslogtreecommitdiff
path: root/Занимательное программирование/2/3_multi_layer/desktop
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2025-12-15 00:36:33 +0100
committerEugen Wissner <belka@caraus.de>2025-12-15 00:36:33 +0100
commit2878f1e34c2c2e19d5b7f6fd368dbf9ec0c6277f (patch)
tree3964cbb7e85992f8f44840d5edacafadf805ba0f /Занимательное программирование/2/3_multi_layer/desktop
parentc1147629f7aae2ee90ccd7c9f1ccbf106361d486 (diff)
downloadbook-exercises-2878f1e34c2c2e19d5b7f6fd368dbf9ec0c6277f.tar.gz
Добавил вторую главу занимательного программирования
Diffstat (limited to 'Занимательное программирование/2/3_multi_layer/desktop')
-rw-r--r--Занимательное программирование/2/3_multi_layer/desktop/build.gradle46
-rw-r--r--Занимательное программирование/2/3_multi_layer/desktop/src/net/caraus/multilayer/DesktopLauncher.java17
2 files changed, 63 insertions, 0 deletions
diff --git a/Занимательное программирование/2/3_multi_layer/desktop/build.gradle b/Занимательное программирование/2/3_multi_layer/desktop/build.gradle
new file mode 100644
index 0000000..900a646
--- /dev/null
+++ b/Занимательное программирование/2/3_multi_layer/desktop/build.gradle
@@ -0,0 +1,46 @@
+sourceSets.main.java.srcDirs = [ "src/" ]
+sourceSets.main.resources.srcDirs = ["../assets"]
+
+project.ext.mainClassName = "net.caraus.multilayer.DesktopLauncher"
+project.ext.assetsDir = new File("../assets")
+
+import org.gradle.internal.os.OperatingSystem
+
+task run(dependsOn: classes, type: JavaExec) {
+ mainClass = project.mainClassName
+ classpath = sourceSets.main.runtimeClasspath
+ standardInput = System.in
+ workingDir = project.assetsDir
+ ignoreExitValue = true
+
+ if (OperatingSystem.current() == OperatingSystem.MAC_OS) {
+ // Required to run on macOS
+ jvmArgs += "-XstartOnFirstThread"
+ }
+}
+
+task debug(dependsOn: classes, type: JavaExec) {
+ mainClass = project.mainClassName
+ classpath = sourceSets.main.runtimeClasspath
+ standardInput = System.in
+ workingDir = project.assetsDir
+ ignoreExitValue = true
+ debug = true
+}
+
+task dist(type: Jar) {
+ duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
+ manifest {
+ attributes 'Main-Class': project.mainClassName
+ }
+ dependsOn configurations.runtimeClasspath
+ from {
+ configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
+ }
+ with jar
+}
+
+
+dist.dependsOn classes
+
+eclipse.project.name = appName + "-desktop"
diff --git a/Занимательное программирование/2/3_multi_layer/desktop/src/net/caraus/multilayer/DesktopLauncher.java b/Занимательное программирование/2/3_multi_layer/desktop/src/net/caraus/multilayer/DesktopLauncher.java
new file mode 100644
index 0000000..bfd1ef3
--- /dev/null
+++ b/Занимательное программирование/2/3_multi_layer/desktop/src/net/caraus/multilayer/DesktopLauncher.java
@@ -0,0 +1,17 @@
+package net.caraus.multilayer;
+
+import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
+import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
+
+// Please note that on macOS your application needs to be started with the -XstartOnFirstThread JVM argument
+public class DesktopLauncher {
+ public static void main (String[] arg) {
+ Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
+
+ config.setForegroundFPS(60);
+ config.setTitle("Multi Layer Background");
+ config.setWindowedMode(1280, 1024);
+
+ new Lwjgl3Application(new MultiLayer(), config);
+ }
+}