Tag: libgdx

libgdx button up down没有效果

val playTexture = assetManager?.get(A.image.gamePlayBtn, Texture::class.java) val skin: Skin = Skin() skin.add("up", TextureRegion(playTexture, 0, 0, 296, 96)) skin.add("down", TextureRegion(playTexture, 0, 96, 296, 96)) val playButton: ImageTextButton = ImageTextButton("PLAY THE GAME", with(ImageTextButton.ImageTextButtonStyle()) { up = skin.getDrawable("up") down = skin.getDrawable("down") font = BitmapFont() font.data.setScale(3f) font.color = Color.ORANGE this }) OnClick事件工作正常,但没有onClicked状态的按钮背景变化(向下)。 我哪里错了?

斯卡拉+阿卡流+ libgdx + gradle =给我一个难的时间

我正在尝试一个实验…我正在尝试按照akka流符合libgdx的教程,但是想让我的项目使用gradle而不是sbt(我想在将来,如果我想要做更多,它会对我来说,要弄清楚如何添加其他库如bullet3d等)更加微不足道。 这纯粹是为了学习的目的。 这就是说,我设法让桌面构建工作,但没有运气的Android构建…我一直得到同样的错误: Error:Execution failed for task ':android:transformResourcesWithMergeJavaResForDebug'. com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:复制在APK reference.conf中复制的文件File1:/home/user/.gradle/caches/modules-2/files-2.1/ com.typesafe / ssl-config-core_2.11 / 0.2.1 / 3d2e6a36a7427d6f9d3921c91d6ac1f57dc47b57 / ssl-config-core_2.11-0.2.1.jar File2:/home/user/.gradle/caches/modules-2/files-2.1 /com.typesafe.akka/akka-stream_2.11/2.5.4/f6de423be6bf66b4ebf65e83008d38c24d1eea95/akka-stream_2.11-2.5.4.jar File3:/home/user/.gradle/caches/modules-2/files-2.1/ com.typesafe.akka /阿卡-actor_2.11 / 2.5.4 / 80ce36e1a582f06de68046f5731b95a88043bebb /阿卡-actor_2.11-2.5.4.jar 我已经尝试了几个类似的问题的解决方案(不包括包装选项中的许可证文件),但没有运气。 我也尝试添加罐子本身…我不知道我是否正确地做了这个部分。 我基本上包括了jar的所有路径: /home/user/.gradle/caches/modules-2/files-2.1/com.typesafe.akka/akka-stream_*/*/*/akka-stream_*-*.jar 被排除在包装选项之外,它也没有做太多… 我简直不敢相信这是如此复杂的工作。 我曾经认为,因为斯卡拉是一个jvm语言,这将是微不足道的,但我想现在我知道更好。 在尝试所有这些事情之后,我在这里发布信息,希望能够让这个工作。 如果没有,我想我会尝试与Kotlin。 提前致谢!

在纹理区域中重复纹理

我有一个包含64个不同纹理(认为是我的世界),使用纹理区域功能拆分的纹理贴图。 如何重复使用纹理区域功能的纹理? 我不能乘以纹理大小(所以* 3会重复3次),因为它只会拾取纹理贴图中的下一个纹理(总共9个纹理)。 texture.setWrap(Texture.TextureWrap.Repeat, Texture.TextureWrap.Repeat); MeshBuilder.regions = TextureRegion.split(texture, 64, 64) var cube: Model cubes = Array() for (x in 0..7) { for (y in 0..7) { modelBuilder.begin() val mpb = modelBuilder.part("box", GL20.GL_TRIANGLES, (VertexAttributes.Usage.Position or VertexAttributes.Usage.Normal or VertexAttributes.Usage.TextureCoordinates).toLong(), Material(ColorAttribute.createDiffuse(Color.BLUE))) mpb.setUVRange(MeshBuilder.regions[x][y]) mpb.box(1.0f, 1.0f, 1.0f) cube = modelBuilder.end() cube.meshes.get(0).scale(Constants.cubeSize, Constants.cubeSize, Constants.cubeSize) cubes.add(cube) } }

libGDX无法绘制样条曲线

我有以下Board Group ,我需要绘制一个给定的点曲线 class Board : Group { private var touchPosition: Vector2 = Vector2.Zero private val selectedLetters = mutableListOf<Letter>() private val sr = ShapeRenderer() override fun draw(batch: Batch?, parentAlpha: Float) { super.draw(batch, parentAlpha) if (selectedLetters.size > 0) { val points = selectedLetters.map { Vector2(it.x, it.y) }.toMutableList() points.add(touchPosition) val path = CatmullRomSpline<Vector2>(points.toTypedArray(), true) sr.setAutoShapeType(true) sr.begin() sr.color […]

libGDX无法执行操作

我有一个像这样的Letter类: class Letter : Label { val char: Char var interactable = true constructor(char: Char) : super(""+char, H.letterStyle()) { this.char = char } fun animateSelect() { addAction(Actions.scaleTo(3.0f, 3.0f, 0.5f)) } fun animateUnselect() { addAction(Actions.scaleTo(3.0f, 3.0f, 0.5f)) } } 在我的触摸监听器中,我有这样的: override fun touchDown(event: InputEvent?, x: Float, y: Float, pointer: Int, button: Int): Boolean { var currentInteractingLetter: […]

libgdx AssetManager预加载ttf字体不工作

我有这个代码在应用程序启动时执行 val resolver = InternalFileHandleResolver() asset.setLoader(FreeTypeFontGenerator::class.java, FreeTypeFontGeneratorLoader(resolver)) asset.setLoader(BitmapFont::class.java, ".ttf", FreetypeFontLoader(resolver)) val menuFont = FreeTypeFontLoaderParameter() menuFont.fontFileName = FONT_FN menuFont.fontParameters.size = 10 asset.load(FONT_MENU, BitmapFont::class.java, menuFont) val gameFont = FreeTypeFontLoaderParameter() gameFont.fontFileName = FONT_FN gameFont.fontParameters.size = 15 asset.load(FONT_GAME, BitmapFont::class.java, gameFont) asset.finishLoading() asset是我的AssetManager ,常量是: const val FONT_FN = "others/font.ttf" const val FONT_MENU = "FONT_MENU" const val FONT_GAME = "FONT_GAME" 现在我有这些帮手功能: […]

libgdx地面不工作

我沿着这个教程https://github.com/libgdx/libgdx/wiki/Box2d ,我目前卡在静态对象。 这是我的游戏课程: package com.mygdx.physics import com.badlogic.gdx.ApplicationAdapter import com.badlogic.gdx.Gdx import com.badlogic.gdx.graphics.GL20 import com.badlogic.gdx.graphics.Texture import com.badlogic.gdx.graphics.g2d.SpriteBatch import com.badlogic.gdx.math.Vector2 import com.badlogic.gdx.physics.box2d.World import com.badlogic.gdx.physics.box2d.Box2DDebugRenderer import com.badlogic.gdx.graphics.OrthographicCamera import com.badlogic.gdx.physics.box2d.BodyDef.BodyType import com.badlogic.gdx.physics.box2d.Body import com.badlogic.gdx.physics.box2d.CircleShape import com.badlogic.gdx.physics.box2d.FixtureDef import com.badlogic.gdx.physics.box2d.Fixture import com.badlogic.gdx.physics.box2d.BodyDef import com.badlogic.gdx.physics.box2d.PolygonShape class Physics : ApplicationAdapter() { internal var batch: SpriteBatch? = null internal var world: World = World(Vector2(0.toFloat(), -10.toFloat()), […]

Gradle花时间看似无所事事

Gradle似乎对我来说真的很慢,我不知道为什么。 每当我运行一个构建需要30秒的时间,根据25秒的输出,它什么都不做。 像这样建设: gradlew build –parallel –offline Kotlin现在正在发生这种情况,当我只使用Java时,增量构建似乎也没有做任何事情 编辑:我有gradle守护进程启用 在开始时,每一个后续的构建都需要比启动守护进程显然无所事事的时间长或长 这是我的项目: https : //github.com/forsakenharmony/GameProt

Android:FirstPersonCameraController:多点触控

我正在Libgdx制作第一人称3D游戏,一切进展顺利。 在移动设备上运行时,我遇到了一个小问题。 如果先按下方向按钮(上,下,左或右),则拖动屏幕(环视)不起作用。 如果我先拖动屏幕,然后两个一起工作。 代码在Kotlin class InputController : FirstPersonCameraController { private var gameRenderScreen: GameRenderScreen = GameRenderScreen() private val forwardButton = TextButton("Forward", Gui.skin) private val backwardButton = TextButton("Backward", Gui.skin) private val leftButton = TextButton("Left", Gui.skin) private val rightButton = TextButton("Right", Gui.skin) private val jumpButton = TextButton("Jump", Gui.skin) private val modeButton = TextButton("Mode", Gui.skin) @JvmField var isAdding […]

我如何将TeaVM添加到我现有的libGDX项目中?

TeaVM是GWT的一种替代方案,它将Java编译为允许使用诸如Scala和Kotlin之类的东西的字节码,我很难理解在TeaVM中添加和运行我的libGDX项目的过程,我将不胜感激任何帮助或指示在添加依赖到我的build.gradle文件后如何运行项目。 谢谢!