草庐IT

android - libgdx 中的纹理灰度

有没有办法将libgdx的纹理转换为灰度图像?到目前为止,我已经复制了我想要灰度化的图像并手动完成,但我认为这不是最好的解决方案,因为我的游戏使用越来越多的图像并且占用了大量磁盘空间。 最佳答案 我想我会把这个分享给任何想要使用一些复制/粘贴代码的人。importcom.badlogic.gdx.graphics.glutils.ShaderProgram;publicclassGrayscaleShader{staticStringvertexShader="attributevec4a_position;\n"+"attribu

android - 更新 Gradle 后 LibGdx 不工作(Android Studio 3.0)

我最近按照此链接中的说明将androidstudio和gradle更新到版本3.0.0https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html在执行此libgdx桌面项目后不起作用。它给我这个错误java.lang.NoClassDefFoundError:com/badlogic/gdx/ApplicationListeneratjava.lang.Class.getDeclaredMethods0(NativeMethod)atjava.lang.Class.privateGetDec

java - 在 libgdx 中按名字获取 Actor

如何在libgdx中通过名字获取Actor?我目前有以下ChangeListener:ChangeListenercolorPickerListener=newChangeListener(){publicvoidchanged(ChangeEventevent,Actoractor){//PopupWindowtoolboxStage.addActor(blockWindow);//toolboxStage.getRoot().removeActor(blockWindow);Gdx.app.log("LevelEditorScreen","ColorPickerSelected")

android - LibGDX:如何可靠地确定 opengl 上下文是否丢失?

是否有回调在openGL上下文丢失后得到通知?我已经尝试过ApplicationListener/Game.resume()但(在Android上)有一些情况下resume()被调用,尽管上下文没有丢失。以及其他一些上下文确实丢失但根本没有调用resume()的情况。可靠地确定libGDX中是否丢失了openGL上下文的正确方法是什么? 最佳答案 没有直截了当的solution对于同时具有托管和非托管/动态纹理的应用程序。这篇文章解释了为什么您无法真正获得触发器。我建议使用AssetManager因此您可以在ApplicationL

java - 恢复后 libgdx 无法正确呈现字体

我在android上使用libgdx时遇到字体问题。当我第一次打开应用程序时,它们工作正常。但是当我暂停应用程序然后恢复它时,字体呈现不正确。这是我创建字体的方法。FreeTypeFontGeneratorgenerator=newFreeTypeFontGenerator(Gdx.files.internal("fonts/MainFont.ttf"));LabelStylels=newLabelStyle();ls.font=generator.generateFont(30);ls.fontColor=newColor(1.0f,1.0f,1.0f,1.0f);mPlay=new

java - 无法在 Android Studio (libGDX) 中运行项目

每次我尝试在AndroidStudio中运行我的桌面项目时,我都会立即收到以下错误:Error:com.android.tools.idea.gradle.util.Projects.lastGradleSyncFailed(Lcom/intellij/openapi/project/Project;)Z没有gradle构建发生,也没有任何类型的同步。AndroidStudio直接跳转到这个错误。我重新启动/使缓存失效,我删除了项目和家庭位置中的.gradle文件夹,我重新安装了androidstudio,我创建了一个新项目,但我仍然遇到同样的错误。当我手动运行gradle构建时,构建

android - LibGDX 表内的 LinearLayout 模拟

我想使用具有以下布局的scene2d包在LibGDX中创建一个游戏菜单屏幕|label||btnbtnbtn||label|我的代码如下所示:Tabletable=getTable();table.add(label1);table.row();table.add(button1);table.add(button2);table.add(button3);table.row();table.add(label2);table.row();但是我得到的不是我想要的,而是这样的:|label||btnbtnbtn||label|原因是因为每个table.add()方法调用都会创建一个新的

android - LibGDX 的 TexturePacker 与 gradle

我正在尝试根据说明创建一个运行TexturePacker的gradle任务here.(请注意,我使用的是AndroidStudio及其目录结构,而不是Eclipse。)我首先将以下内容添加到AndroidStudio项目的build.gradle:importcom.badlogic.gdx.tools.texturepacker.TexturePackertasktexturePacker这给出了错误unabletoresolveclasscom.badlogic.gdx.tools.texturepacker.TexturePacker将texturePacker任务移动到桌面项目

java - libgdx 中的手势检测器

我是libgdx的新手。我有以下问题。我想为我的游戏做缩放。为此,我的GameStage中有GestureDetectorListener类。在GameStage中,我有以下GestureDetector代码:OrthographicCameracamera=newOrthographicCamera(Gdx.graphics.getWidth(),Gdx.graphics.getHeight());this.setCamera(camera);GestureDetectorgestureDetector=newGestureDetector(20,0.5f,2,0.15f,newGe

java - 在 Libgdx 中使用屏幕时重用代码

根据我在阅读其他人关于如何制作不同屏幕的代码时的理解。你做一个主处理程序类......然后为每个屏幕创建一个新类。让我感到困惑的是,每当你创建一个新屏幕时,你必须重新定义所有要渲染的东西,比如SpriteBatch、Sprite、字体等。有没有办法在所有屏幕中重用这些东西?我的意思是,如果我有10个屏幕,并且希望能够在每个屏幕上绘制文本。为所有10个屏幕类创建一个新的BitmapFont真的是好的编程实践吗? 最佳答案 我创建了一个抽象屏幕类,其中包含屏幕的所有公共(public)对象,我的每个屏幕都扩展了这个抽象类。看起来像这样: