【Kotlin】坦克大战11:打包游戏

【Kotlin】坦克大战11:打包游戏_第1张图片
把原来的build.gradle重命名为a.tmp新建build.gradle.kts文件
双击Shift,输入kotlin,选择列表中的Configure Kotlin in Project,等…
【Kotlin】坦克大战11:打包游戏_第2张图片
【Kotlin】坦克大战11:打包游戏_第3张图片
还需要修改一些东西,参照之前的build.gradle引入游戏引擎,还需要指定启动页面,修改后的build.gradle.kts如下

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("jvm") version "1.3.61"
    application
}

application{
    mainClassName = "com.errol.gradle.AppKt"
}

dependencies {
    implementation(kotlin("stdlib-jdk8"))
    implementation("com.github.shaunxiao:kotlinGameEngine:v0.0.4")
}
repositories {
    mavenCentral()
    maven { setUrl("https://jitpack.io") }
}
val compileKotlin: KotlinCompile by tasks
compileKotlin.kotlinOptions {
    jvmTarget = "1.8"
}
val compileTestKotlin: KotlinCompile by tasks
compileTestKotlin.kotlinOptions {
    jvmTarget = "1.8"
}

右侧的grale面板中,双击run可运行游戏
【Kotlin】坦克大战11:打包游戏_第4张图片
双击assembleDist可打包游戏,选择distTar和distZip分别打包tar和zip,选择assembleDist可打包两种格式
【Kotlin】坦克大战11:打包游戏_第5张图片
结束后,build文件夹下的distributions中会生成game-tank.tar和game-tank.zip两个文件,选择一个复制出来
【Kotlin】坦克大战11:打包游戏_第6张图片
【Kotlin】坦克大战11:打包游戏_第7张图片
运行game-tank.bat会报错。查看报错,打开cmd,把game-tank.bat拖进去,说找不到1.map
在这里插入图片描述
修改读取1.map的方式,修改GameWindow中onCreate方法

 //通过读文件的方式创建地图
        //val file = File(javaClass.getResource("/map/1.map").path)
        val resourceAsStream = javaClass.getResourceAsStream("/map/1.map");
        val reader = BufferedReader(InputStreamReader(resourceAsStream,"utf-8"))
        //读取文件行
        val lines: List<String> = reader.readLines()
        ......

重新运行程序,没有问题

先clean一下,这样build文件夹就没与了,重新打包
【Kotlin】坦克大战11:打包游戏_第8张图片
这次我们distZip,重新运行bin下的game-tank.bat,能正常运行

源码下载

https://download.csdn.net/download/u010356768/12046722

你可能感兴趣的:(Kotlin从零到一无所有,kotlin)