diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index 2163fa9..59b1a92 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index 2163fa9..59b1a92 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 85efb71..1ee6f69 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index 2163fa9..59b1a92 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 85efb71..1ee6f69 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_test.iml b/.idea/modules/kudens_test.iml index 7bf052f..f6b4473 100644 --- a/.idea/modules/kudens_test.iml +++ b/.idea/modules/kudens_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index 2163fa9..59b1a92 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 85efb71..1ee6f69 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_test.iml b/.idea/modules/kudens_test.iml index 7bf052f..f6b4473 100644 --- a/.idea/modules/kudens_test.iml +++ b/.idea/modules/kudens_test.iml @@ -1,5 +1,5 @@ - + diff --git a/build.gradle b/build.gradle index 6f9a26e..f345e30 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ group 'perses.games' -version '1.1.2-SNAPSHOT' +version '1.1.3-SNAPSHOT' apply plugin: 'kotlin2js' apply plugin: 'idea' diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index 2163fa9..59b1a92 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 85efb71..1ee6f69 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_test.iml b/.idea/modules/kudens_test.iml index 7bf052f..f6b4473 100644 --- a/.idea/modules/kudens_test.iml +++ b/.idea/modules/kudens_test.iml @@ -1,5 +1,5 @@ - + diff --git a/build.gradle b/build.gradle index 6f9a26e..f345e30 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ group 'perses.games' -version '1.1.2-SNAPSHOT' +version '1.1.3-SNAPSHOT' apply plugin: 'kotlin2js' apply plugin: 'idea' diff --git a/src/main/kotlin/games/perses/input/Keys.kt b/src/main/kotlin/games/perses/input/Keys.kt index e003e82..1860155 100644 --- a/src/main/kotlin/games/perses/input/Keys.kt +++ b/src/main/kotlin/games/perses/input/Keys.kt @@ -1,6 +1,7 @@ package games.perses.input import games.perses.game.Game +import org.w3c.dom.Element import org.w3c.dom.events.Event import org.w3c.dom.events.KeyboardEvent import org.w3c.dom.events.MouseEvent @@ -118,8 +119,8 @@ private fun mouseClick(event: Event) { if (event is MouseEvent) { - val vx: Float = Game.view.screenToGameCoordX(event.clientX.toFloat()) - val vy: Float = Game.view.screenToGameCoordY(event.clientY.toFloat()) + val vx: Float = Game.view.screenToGameCoordX(event.getX(Game.html.container).toFloat()) + val vy: Float = Game.view.screenToGameCoordY(event.getY(Game.html.container).toFloat()) inputProcesser.pointerClick(event.button.toInt(), vx, vy) } @@ -127,8 +128,8 @@ private fun mouseMove(event: Event) { if (event is MouseEvent) { - val vx: Float = Game.view.screenToGameCoordX(event.clientX.toFloat()) - val vy: Float = Game.view.screenToGameCoordY(event.clientY.toFloat()) + val vx: Float = Game.view.screenToGameCoordX(event.getX(Game.html.container).toFloat()) + val vy: Float = Game.view.screenToGameCoordY(event.getY(Game.html.container).toFloat()) //println("mouse move ${event.clientX.toFloat()}, ${event.clientY.toFloat()} -> $vx, $vy") } @@ -145,3 +146,7 @@ } } + +fun MouseEvent.getX(element: Element) = this.pageX - element.getBoundingClientRect().left + +fun MouseEvent.getY(element: Element) = this.pageY - element.getBoundingClientRect().top diff --git a/.idea/modules/kudens.iml b/.idea/modules/kudens.iml index 2163fa9..59b1a92 100644 --- a/.idea/modules/kudens.iml +++ b/.idea/modules/kudens.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_main.iml b/.idea/modules/kudens_main.iml index 85efb71..1ee6f69 100644 --- a/.idea/modules/kudens_main.iml +++ b/.idea/modules/kudens_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/kudens_test.iml b/.idea/modules/kudens_test.iml index 7bf052f..f6b4473 100644 --- a/.idea/modules/kudens_test.iml +++ b/.idea/modules/kudens_test.iml @@ -1,5 +1,5 @@ - + diff --git a/build.gradle b/build.gradle index 6f9a26e..f345e30 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ group 'perses.games' -version '1.1.2-SNAPSHOT' +version '1.1.3-SNAPSHOT' apply plugin: 'kotlin2js' apply plugin: 'idea' diff --git a/src/main/kotlin/games/perses/input/Keys.kt b/src/main/kotlin/games/perses/input/Keys.kt index e003e82..1860155 100644 --- a/src/main/kotlin/games/perses/input/Keys.kt +++ b/src/main/kotlin/games/perses/input/Keys.kt @@ -1,6 +1,7 @@ package games.perses.input import games.perses.game.Game +import org.w3c.dom.Element import org.w3c.dom.events.Event import org.w3c.dom.events.KeyboardEvent import org.w3c.dom.events.MouseEvent @@ -118,8 +119,8 @@ private fun mouseClick(event: Event) { if (event is MouseEvent) { - val vx: Float = Game.view.screenToGameCoordX(event.clientX.toFloat()) - val vy: Float = Game.view.screenToGameCoordY(event.clientY.toFloat()) + val vx: Float = Game.view.screenToGameCoordX(event.getX(Game.html.container).toFloat()) + val vy: Float = Game.view.screenToGameCoordY(event.getY(Game.html.container).toFloat()) inputProcesser.pointerClick(event.button.toInt(), vx, vy) } @@ -127,8 +128,8 @@ private fun mouseMove(event: Event) { if (event is MouseEvent) { - val vx: Float = Game.view.screenToGameCoordX(event.clientX.toFloat()) - val vy: Float = Game.view.screenToGameCoordY(event.clientY.toFloat()) + val vx: Float = Game.view.screenToGameCoordX(event.getX(Game.html.container).toFloat()) + val vy: Float = Game.view.screenToGameCoordY(event.getY(Game.html.container).toFloat()) //println("mouse move ${event.clientX.toFloat()}, ${event.clientY.toFloat()} -> $vx, $vy") } @@ -145,3 +146,7 @@ } } + +fun MouseEvent.getX(element: Element) = this.pageX - element.getBoundingClientRect().left + +fun MouseEvent.getY(element: Element) = this.pageY - element.getBoundingClientRect().top diff --git a/src/main/kotlin/games/perses/text/Texts.kt b/src/main/kotlin/games/perses/text/Texts.kt index 2fdc347..ceca40c 100644 --- a/src/main/kotlin/games/perses/text/Texts.kt +++ b/src/main/kotlin/games/perses/text/Texts.kt @@ -5,7 +5,6 @@ /** * Created by rnentjes on 16-5-16. */ - object Texts { fun drawText(x: Float, y: Float, message: String, font: String = "bold 24pt Arial", fillStyle: String = "white") {