From d6ef34762b4c452ee525227dc25e997fd9fcc8ce Mon Sep 17 00:00:00 2001 From: Carlos Ballesteros Velasco Date: Sun, 30 Apr 2017 21:52:32 +0200 Subject: [PATCH] Updated example --- build.gradle | 4 +- gradle.properties | 6 +- gradle/wrapper/gradle-wrapper.jar | Bin 54212 -> 54212 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- include.gradle | 14 +--- korge-tic-tac-toe/.gitignore | 1 + korge-tic-tac-toe/build.gradle | 27 ++++++- korge-tic-tac-toe/resources/main.fla | Bin 12033 -> 12095 bytes korge-tic-tac-toe/resources/main.swf.config | 9 +++ .../resources/particle/particle.pex | 39 ++++++++++ .../resources/particle/texture.png | Bin 0 -> 2833 bytes korge-tic-tac-toe/resources/tiled/sample.tmx | 69 ++++++++++++++++++ .../BoardMediator.kt | 10 ++- .../com.soywiz.korge.tictactoe/TicTacToe.kt | 10 ++- 14 files changed, 166 insertions(+), 27 deletions(-) create mode 100644 korge-tic-tac-toe/.gitignore create mode 100644 korge-tic-tac-toe/resources/main.swf.config create mode 100644 korge-tic-tac-toe/resources/particle/particle.pex create mode 100644 korge-tic-tac-toe/resources/particle/texture.png create mode 100644 korge-tic-tac-toe/resources/tiled/sample.tmx diff --git a/build.gradle b/build.gradle index 3456268..118f1a0 100644 --- a/build.gradle +++ b/build.gradle @@ -1,12 +1,11 @@ buildscript { repositories { mavenLocal() - jcenter() mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" - classpath "com.jtransc:jtransc-gradle-plugin:$jtranscVersion" + classpath "com.soywiz:korge-gradle-plugin:$korVersion" } } @@ -25,3 +24,4 @@ allprojects { mavenCentral() } } + diff --git a/gradle.properties b/gradle.properties index 717209b..0a87b64 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -korVersion=0.8.4 -jtranscVersion=0.5.14 -kotlinVersion=1.1.1 +korVersion=0.9.0 +jtranscVersion=0.5.15 +kotlinVersion=1.1.2 vertxVersion=3.3.3 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 55e9d8d0f89205cb83be096c92dff719efebd137..0e1a811fbdc53c7bb46a6c3e0c09549d46c7550b 100644 GIT binary patch delta 26 gcmX@IocYLd<_)ojm^;d5Z%#NQA_!tkF2C#x0HwVQ2mk;8 delta 26 gcmX@IocYLd<_)ojnD6xUZ%#NQA_!tkF2C#x0IppO$N&HU diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5a334e5..0b4e250 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Apr 15 17:54:56 CEST 2017 +#Thu Apr 27 14:52:16 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-bin.zip diff --git a/include.gradle b/include.gradle index 7ea584c..17ce5da 100644 --- a/include.gradle +++ b/include.gradle @@ -1,15 +1,3 @@ -buildscript { - repositories { - mavenLocal() - jcenter() - mavenCentral() - } - dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" - classpath "com.jtransc:jtransc-gradle-plugin:$jtranscVersion" - } -} - group 'com.soywiz' version "$korVersion" @@ -17,7 +5,7 @@ apply plugin: 'java' apply plugin: 'kotlin' apply plugin: 'maven' apply plugin: 'signing' -apply plugin: 'jtransc' +apply plugin: "korge" compileJava.options.encoding = 'UTF-8' compileTestJava.options.encoding = 'UTF-8' diff --git a/korge-tic-tac-toe/.gitignore b/korge-tic-tac-toe/.gitignore new file mode 100644 index 0000000..30e2d18 --- /dev/null +++ b/korge-tic-tac-toe/.gitignore @@ -0,0 +1 @@ +genresources \ No newline at end of file diff --git a/korge-tic-tac-toe/build.gradle b/korge-tic-tac-toe/build.gradle index 31b4eac..fed2afc 100644 --- a/korge-tic-tac-toe/build.gradle +++ b/korge-tic-tac-toe/build.gradle @@ -5,13 +5,38 @@ apply plugin: 'application' mainClassName = "com.soywiz.korge.tictactoe.TicTacToeKt" +sourceSets { + generated.resources.srcDirs = [ 'genresources' ] + + main.kotlin.srcDirs = [ 'src' ] + main.resources.srcDirs = [ 'resources', 'genresources' ] + test.kotlin.srcDirs = [ 'test' ] +} + + dependencies { compile "com.soywiz:korge:$korVersion" compile "com.soywiz:korge-ext-swf:$korVersion" + compile "com.soywiz:korau-mp3:$korVersion" + + nojtransc "com.soywiz:korge-ext-swf:$korVersion" + nojtransc "com.soywiz:korau-mp3:$korVersion" } jtransc { minimizeNames = true treeshaking = true + assets("resources") -} \ No newline at end of file + assets("genresources") + + skipServiceLoader("com.soywiz.korim.format.JPEG") + skipServiceLoader("com.soywiz.korim.format.PNG") + + skipServiceLoader("com.soywiz.korau.format.MP3") + skipServiceLoader("com.soywiz.korau.format.OGG") +} + +jar.enabled = false +distTar.enabled = false +distZip.enabled = false diff --git a/korge-tic-tac-toe/resources/main.fla b/korge-tic-tac-toe/resources/main.fla index b7101e97f584cf1feb5c1aace17023ad39085421..e42e22ae840aae7d18e2d79b71f39e66fcbd21b5 100644 GIT binary patch delta 1972 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 L2r{)wpY{C*{JLf- diff --git a/korge-tic-tac-toe/resources/main.swf.config b/korge-tic-tac-toe/resources/main.swf.config new file mode 100644 index 0000000..1a86a20 --- /dev/null +++ b/korge-tic-tac-toe/resources/main.swf.config @@ -0,0 +1,9 @@ +mipmaps: true +antialiasing: true +rasterizerMethod: X4 +exportScale: 2.0 +minShapeSide: 64 +maxShapeSide: 512 +minMorphShapeSide: 16 +maxMorphShapeSide: 128 +exportPaths: false \ No newline at end of file diff --git a/korge-tic-tac-toe/resources/particle/particle.pex b/korge-tic-tac-toe/resources/particle/particle.pex new file mode 100644 index 0000000..bdf5fee --- /dev/null +++ b/korge-tic-tac-toe/resources/particle/particle.pex @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/korge-tic-tac-toe/resources/particle/texture.png b/korge-tic-tac-toe/resources/particle/texture.png new file mode 100644 index 0000000000000000000000000000000000000000..ee4dbd11cbcf26d0f259b41d858114012a3b24f2 GIT binary patch literal 2833 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 literal 0 HcmV?d00001 diff --git a/korge-tic-tac-toe/resources/tiled/sample.tmx b/korge-tic-tac-toe/resources/tiled/sample.tmx new file mode 100644 index 0000000..43446f0 --- /dev/null +++ b/korge-tic-tac-toe/resources/tiled/sample.tmx @@ -0,0 +1,69 @@ + + + + + + + +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,18,18,18,18,1,49,50,51,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,18,18,18,18,1,65,66,67,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,18,18,18,1,1,81,82,83,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,18,18,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/korge-tic-tac-toe/src/com.soywiz.korge.tictactoe/BoardMediator.kt b/korge-tic-tac-toe/src/com.soywiz.korge.tictactoe/BoardMediator.kt index 0badd7c..9408af6 100644 --- a/korge-tic-tac-toe/src/com.soywiz.korge.tictactoe/BoardMediator.kt +++ b/korge-tic-tac-toe/src/com.soywiz.korge.tictactoe/BoardMediator.kt @@ -1,5 +1,6 @@ package com.soywiz.korge.tictactoe +import com.soywiz.korge.animate.AnMovieClip import com.soywiz.korge.animate.play import com.soywiz.korge.input.onClick import com.soywiz.korge.tween.* @@ -7,6 +8,7 @@ import com.soywiz.korge.view.View import com.soywiz.korge.view.get import com.soywiz.korio.async.Signal import com.soywiz.korio.async.async +import com.soywiz.korio.async.sleep import com.soywiz.korio.util.Extra var Board.Cell.view by Extra.Property { null } @@ -22,7 +24,7 @@ fun Board.Cell.set(type: Chip) { }) } -fun Board.Cell.setAnimate(type: Chip) { +suspend fun Board.Cell.setAnimate(type: Chip) { set(type) async { view.tween( @@ -35,7 +37,7 @@ fun Board.Cell.setAnimate(type: Chip) { var Board.Cell.highlighting by Extra.Property { false } -fun Board.Cell.highlight(highlight: Boolean) { +suspend fun Board.Cell.highlight(highlight: Boolean) { view["highlight"].play(if (highlight) "highlight" else "none") this.highlighting = highlight if (highlight) { @@ -60,7 +62,7 @@ fun Board.Cell.highlight(highlight: Boolean) { } } -fun Board.Cell.lowlight(lowlight: Boolean) { +suspend fun Board.Cell.lowlight(lowlight: Boolean) { async { view.tween( view!!::scale[1.0, 0.7], @@ -70,7 +72,7 @@ fun Board.Cell.lowlight(lowlight: Boolean) { } } -fun Board.reset() { +suspend fun Board.reset() { for (cell in cells) { //cell.view?.removeAllComponents() cell.set(Chip.EMPTY) diff --git a/korge-tic-tac-toe/src/com.soywiz.korge.tictactoe/TicTacToe.kt b/korge-tic-tac-toe/src/com.soywiz.korge.tictactoe/TicTacToe.kt index f161a50..b0ab48c 100644 --- a/korge-tic-tac-toe/src/com.soywiz.korge.tictactoe/TicTacToe.kt +++ b/korge-tic-tac-toe/src/com.soywiz.korge.tictactoe/TicTacToe.kt @@ -4,8 +4,8 @@ import com.soywiz.korge.Korge import com.soywiz.korge.animate.AnLibrary import com.soywiz.korge.bitmapfont.BitmapFont import com.soywiz.korge.input.mouse -import com.soywiz.korge.resources.Mipmaps import com.soywiz.korge.resources.Path +import com.soywiz.korge.resources.ResourcesRoot import com.soywiz.korge.scene.Module import com.soywiz.korge.scene.Scene import com.soywiz.korge.view.Container @@ -15,6 +15,7 @@ import com.soywiz.korge.view.setText import com.soywiz.korio.async.Signal import com.soywiz.korio.async.go import com.soywiz.korio.async.waitOne +import com.soywiz.korio.inject.AsyncInjector import com.soywiz.korma.geom.PointInt fun main(args: Array) = Korge(TicTacToeModule) @@ -23,11 +24,16 @@ object TicTacToeModule : Module() { override val mainScene: Class = TicTacToeMainScene::class.java override val title: String = "tic-tac-toe" override val icon: String = "icon.png" + + suspend override fun init(injector: AsyncInjector) { + //injector.get().mapExtensions("swf" to "ani") + //injector.get().mapExtensionsJustInJTransc("swf" to "ani") + } } // Controller class TicTacToeMainScene( - @Mipmaps @Path("main.swf") val mainLibrary: AnLibrary, + @Path("main.swf") val mainLibrary: AnLibrary, @Path("font/font.fnt") val font: BitmapFont ) : Scene() { val board = Board(3, 3)