Tag: libgdx

LibGDX:如何实施Google Play游戏服务?

我检查了[ https://github.com/libgdx/libgdx/wiki/Google-Play-Games-Services-in-LibGDX] [1 ],但该教程要求我从这里导入BaseGameUtils :[ https:// github。 com / playgameservices / android-basic-samples] [2]但似乎删除了BaseGameUtils 。 我如何实施GooglePlay游戏服务?

在游戏暂停之前复制当前屏幕的图片使其模糊并在游戏暂停期间渲染到屏幕

我无法在游戏暂停状态下实现游戏暂停模糊屏幕渲染。 当用户暂停屏幕时,我需要拍摄当前屏幕的图片或纹理,即游戏运行状态。 也许将它存储到内存中,模糊然后将其渲染到屏幕以实现漂亮的模糊,高斯模糊效果就像他们在愤怒的小鸟等流行游戏中一样。 我尝试使用截图实现,但屏幕截图的过程使游戏冻结了几秒钟,这是不好的。 这是我的渲染代码的一部分 private void updatePlayerForUserInput(float delta) { if (Gdx.input.isKeyPressed(Keys.P) || pause) { ScreenShotSaver.saveScreenShot(); state = State.GAME_PAUSED; if(!DEBUG_MODE) { toggleGestureProcessor(false); setBackgroundTexture(new TextureRegion(applyBlurEffect(Gdx.files.external(“madboy/screenshot.png”)))); gameScreenGamePauseMenu.sendInMenu(); } } } 有人可以像这样帮助实现屏幕 这是我想要的效果的一个例子1: 在这里输入链接描述这是另一个,类似的东西虽然2: 在这里输入链接描述 这是我的更新逻辑的一部分,具体取决于游戏状态 private void render(float delta) { switch (state) { case GAME_READY: renderReady(); break; case GAME_RUNNING: renderRunning(delta); break; case GAME_PAUSED: renderPaused(); break; case GAME_LEVEL_END: […]

如何将Kryonet库导入Android Studio上的libGdx项目

如何在Android Studio中的libGdx项目中添加外部库(在本例中为kryonet)? 我看到人们告诉它与build.grade有关,但是你把jar文件放在哪里或者如何导入它?

移动libgdx时精灵闪烁

此代码在向左,向右,向下或向上移动时使图像边框闪烁(闪烁)。 为什么即使我使用Screen类render()方法delta值,图像边框闪光也会移动。 package com.me.mygdxgame; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.InputProcessor; import com.badlogic.gdx.graphics.GL10; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.Texture.TextureFilter; import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.Vector3; public class MoveSpriteExample extends GdxTest implements InputProcessor { Texture texture; SpriteBatch batch; OrthographicCamera camera; Vector3 spritePosition = new Vector3(); Sprite sprite; public void resize (int width, int height) { } public […]

在libGDX中使用首选项保存数据

在我的游戏项目中,我希望使用首选项界面保存一些级别的数据,如硬币,gams等。 我认为在我的问题中,数据只是级别号。 ………………………………………….. …………………. 1)如果玩家完成了level_1,则此代码调用以保存LEVEL_NUM_ 。 preferences.putInteger(“LEVEL_NUM_”, getLevelNum()); preferences.flush(); .prefs的文件: 1 3225 2)如果播放器完成level_2,则再次调用此代码以保存LEVEL_NUM_ 。 preferences.putInteger(“LEVEL_NUM_”, getLevelNum()); preferences.flush(); 首选项更新数据,即用新的LEVEL_NUM_数据替换LEVEL_NUM_的数据。 新.prefs的文件: 2 5995 我想添加数据(如堆栈)不替换数据。 我所做的 ?

将纹理拆分为拼图块在libgdx中

由于性能问题,我试图将基于Android Canvas的游戏转换为Libgdx。 目前,我必须生成拼图拼图(动态)时遇到问题。 我做了什么:我使用了android位图操作(Path和PorterDuff)并生成了拼图,然后将其输入到AndroidLauncher中的Libgdx Game对象。 问题1 :有没有更好的方法将位图转换为libgdx核心项目中的拼图块。 (见下文) 问题2 :如何创建一个区域来表示拼图。 (基于边界框或宽度/高度的解决方案不适合),以便用户可以在他/她仅触摸该纹理区域时拖动该部分。 问题3 :检测相邻拼图块何时被用户移近彼此的最佳方法。

libGDX坐标系

我正在尝试在libGDX中正确配置我的Camera和Sprite ,以便在2D坐标系中正确显示左下角的原点。 我像这样设置我的Camera : cameraWidth = Gdx.graphics.getWidth(); cameraHeight = Gdx.graphics.getHeight(); camera = new OrthographicCamera(1, cameraHeight/cameraWidth); 我设置我的Sprite是这样的: sprite.setOrigin(sprite.getWidth()/2, sprite.getHeight()/2); sprite.setScale(scale); sprite.setPosition(startX,startY); 我的问题是sprite.setSize(x,y) 。 如果我将所有精灵设置为(1, texture aspect ratio)的大小,那么所有内容都以正确的显示比例(不是拉伸或拉伸)绘制,但没有任何东西绘制在正确的位置。 例如,如果我在(0,0)处绘制一些东西,它将以其左下角从屏幕左侧绘制并向上绘制多个像素。 我已经注意到通过改变比率我可以在不同的地方绘制东西 – 即如果我将其设置为(1, display aspect ratio)事情看起来非常接近于在正确的地方绘制 – 他们只是从他们的中心画出,而不是他们的左下角,正如LibGDX指定的那样。 唯一的问题是图像都显得微笑或拉伸,这是不好的。 这似乎是一个简单的问题,我只是想知道如何设置它,所以我可以有一个合理的坐标系统,在正确的位置和正确的纵横比绘制东西。 谢谢。

libGDX:3d动画无效

我使用Blender和fbxconv创建了一个.g3db动画文件。 现在,我的libGDX项目源代码看起来像这样: public class test implements ApplicationListener { // … public ModelInstance fred public AnimationController animationController; public void create () { modelBatch = new ModelBatch(); // … assets = new AssetManager(); assets.load(“data/fred.g3db”, Model.class); loading = true; } private void doneLoading() { Model fredData = assets.get(“data/fred.g3db”, Model.class); fred = new ModelInstance(fredData); animationController = new AnimationController(fred); animationController.animate(fred.animations.get(0).id, […]

LibGDX闪烁

我已经使用LibGDX UI Setup来启动一个项目。 我在实现ApplicationListener中唯一拥有的是: public void create() { setScreen(new LoadingScreen(this)); } 这应该会触发LoadingScreen,因为我在它的构造函数中有一个打印,它确实显示了。 我在渲染方法中有一个打印,它只显示一次,我知道这应该打印很多次,因为每隔短时间调用一次渲染方法。 这是我在render()方法中的内容(除了print): OpenGL.glClearColor(1, 0.5f, 1, 1); OpenGL.glClear(GL10.GL_COLOR_BUFFER_BIT); 其中OpenGL = Gdx.graphics.getGL10(); 正如我所说,我认为渲染只被调用一次,当我执行桌面主屏幕时,我在屏幕上看到的是从粉红色到黑色闪烁的图像,条形图从上到下闪烁。

无法通过AssetManager – libgdx从zip存档加载TextureAtlas

我有2个AssetManager实例:一个用于基本纹理,一个用于高质量纹理。 基本纹理位于“android / assets”文件夹中,高质量纹理包装在zip文件中。 此文件夹中的内容(文件名)是相同的 – 在zip存档中只有更好的质量纹理。 当我尝试从zip文件加载TextureAtlas时,AssetManager会抛出exception:“无法加载asset:teamLogo.png的依赖项”。 当我加载纹理文件时一切正常。 加载TextureAtlas仅适用于’android / assets’文件夹。 使用’android / assets’的AssetManager – 一切正常: AssetManager am = new AssetManager(); am.load( “images/image.png”, Texture.class ); am.load( “images/teamLogo.pack”, TextureAtlas.class ); 使用zip存档的AssetManager – 无法加载TextureAtlas: ZipFile archive = new ZipFile(expansionFileHandle.file()); ArchiveFileHandleResolver resolver = new ArchiveFileHandleResolver(archive); AssetManager amHQ = new AssetManager(resolver); 这很好用: amHQ.load( “images/image.png”, Texture.class ); 这不起作用: amHQ.load( […]