aboutsummaryrefslogtreecommitdiff
path: root/Занимательное программирование/2/3_multi_layer/core
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/core
parentc1147629f7aae2ee90ccd7c9f1ccbf106361d486 (diff)
downloadbook-exercises-2878f1e34c2c2e19d5b7f6fd368dbf9ec0c6277f.tar.gz
Добавил вторую главу занимательного программирования
Diffstat (limited to 'Занимательное программирование/2/3_multi_layer/core')
-rw-r--r--Занимательное программирование/2/3_multi_layer/core/build.gradle5
-rw-r--r--Занимательное программирование/2/3_multi_layer/core/src/net/caraus/multilayer/MultiLayer.java61
2 files changed, 66 insertions, 0 deletions
diff --git a/Занимательное программирование/2/3_multi_layer/core/build.gradle b/Занимательное программирование/2/3_multi_layer/core/build.gradle
new file mode 100644
index 0000000..c2fa637
--- /dev/null
+++ b/Занимательное программирование/2/3_multi_layer/core/build.gradle
@@ -0,0 +1,5 @@
+[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
+
+sourceSets.main.java.srcDirs = [ "src/" ]
+
+eclipse.project.name = appName + "-core"
diff --git a/Занимательное программирование/2/3_multi_layer/core/src/net/caraus/multilayer/MultiLayer.java b/Занимательное программирование/2/3_multi_layer/core/src/net/caraus/multilayer/MultiLayer.java
new file mode 100644
index 0000000..4cec49b
--- /dev/null
+++ b/Занимательное программирование/2/3_multi_layer/core/src/net/caraus/multilayer/MultiLayer.java
@@ -0,0 +1,61 @@
+package net.caraus.multilayer;
+
+import com.badlogic.gdx.ApplicationAdapter;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.graphics.g2d.SpriteBatch;
+import com.badlogic.gdx.utils.ScreenUtils;
+
+public class MultiLayer extends ApplicationAdapter {
+ SpriteBatch batch;
+
+ Texture clouds;
+ Texture ground;
+ Texture tree;
+
+ float cloudsPosition = 512.0f;
+ float groundPosition = 0.0f;
+ float treePosition = 0.0f;
+
+ boolean reverseDirection = false;
+
+ @Override
+ public void create () {
+ batch = new SpriteBatch();
+
+ clouds = new Texture("clouds.jpg");
+ ground = new Texture("ground.jpg");
+ tree = new Texture("tree.png");
+ }
+
+ @Override
+ public void render () {
+ ScreenUtils.clear(0, 0, 0, 1);
+ batch.begin();
+ batch.draw(ground, 0, groundPosition);
+ batch.draw(clouds, 0, cloudsPosition);
+ batch.draw(tree, 0, treePosition);
+ batch.end();
+
+ if (reverseDirection) {
+ groundPosition += 3.0f;
+ cloudsPosition += 1.0f;
+ treePosition += 4.0f;
+ } else {
+ groundPosition -= 3.0f;
+ cloudsPosition -= 1.0f;
+ treePosition -= 4.0f;
+ }
+ if (cloudsPosition < 360 || cloudsPosition > 512) {
+ reverseDirection = !reverseDirection;
+ }
+ }
+
+ @Override
+ public void dispose () {
+ batch.dispose();
+
+ ground.dispose();
+ tree.dispose();
+ clouds.dispose();
+ }
+}