package games.perses.shooter import com.persesgames.game.Game import com.persesgames.game.Screen import com.persesgames.game.DrawMode import com.persesgames.input.EmptyInputProcessor import com.persesgames.texture.Textures import com.persesgames.sprite.SpriteBatch import com.persesgames.sprite.Sprite import com.persesgames.input.Keys import com.persesgames.sound.Sounds import com.persesgames.text.Texts import com.persesgames.sound.Music import org.w3c.dom.HTMLAudioElement /** * User: rnentjes * Date: 21-1-17 * Time: 14:16 */ class GameInputProcessor : EmptyInputProcessor() { override fun keyPressed(charCode: Int) { println("charCode: $charCode") if (charCode == 32) { Sounds.play("EXPLOSION", 0.5f) } else if (charCode == 'x'.toInt()) { Sounds.play("DROP", 0.75f) } } override fun pointerClick(pointer: Int, x: Float, y: Float) { println("POINTER $pointer -> ($x, $y)") } } class WelcomeScreen : Screen() { var sprites = SpriteBatch() var sprite = Sprite("SHIP") var music: HTMLAudioElement? = null var time: Float = 0f override fun loadResources() { music = Music.play("music/DST-TacticalSpace.mp3", 1.0, looping = true) Textures.load("SHIP", "images/ship2.png") //Textures.loadSpriteSheet("images/data-0.json") Keys.setInputProcessor(GameInputProcessor()) } override fun update(time: Float, delta: Float) { this.time = time } override fun render() { Texts.drawText(20f, 100f, "Hello! FPS ${Game.fps}", font = "bold 72pt Arial") sprites.draw(sprite, 350f, 350f, scale = 1f, rotation = -time) sprites.render() } } fun main(args: Array<String>) { Game.view.setToHeight(1000f) Game.view.drawMode = DrawMode.LINEAR Game.view.minAspectRatio = 0.8f Game.view.maxAspectRatio = 0.8f Game.start(WelcomeScreen()) }