Articles of Java

libgdx绘制问题和animation

好像我不能得到绘制方法的工作? 似乎bullet.draw(batcher)不起作用,我不明白为什么子弹是一个精灵。 我做了一个Sprite []并将它们添加为animation。 那可以吗? 我试过了 batcher.draw(AssetLoader.bulletAnimation.getKeyFrame(runTime), bullet.getX(), bullet.getY(), bullet.getOriginX() / 2, bullet.getOriginY() / 2, bullet.getWidth(), bullet.getHeight(), 1, 1, bullet.getRotation()); 但是那不工作,它画的唯一的方式是这个 batcher.draw(AssetLoader.bulletAnimation.getKeyFrame(runTime), bullet.getX(), bullet.getY()); 下面是代码。 //这是在一个资产类 texture = new Texture(Gdx.files.internal("SpriteN1.png")); texture.setFilter(TextureFilter.Nearest, TextureFilter.Nearest); bullet1 = new Sprite(texture, 380, 350, 45, 20); bullet1.flip(false, true); bullet2 = new Sprite(texture, 425, 350, 45, 20); bullet2.flip(false, true); Sprite[] bullets = […]

将图像转换为等距贴图瓷砖spritesheet?

有没有办法将一个等轴测图像(如第一个图像)转换成一个spritesheet(如第二个图像),以便将每个图像放在等轴测图上的代码? 地图看起来像第一个图像,但一些建筑物比一个瓦片大,所以我需要几个方块(假设第一个图像是一个建筑,由不同颜色的多个瓦片组成),每个方块放置一个偏移量的64×32。 该建筑物是在Blender中创建的,我用等轴测视角保存图像。 但我必须从这个图像拆分每个广场,以便有spritesheet,也许有更聪明的方式,或者一个java软件,将使我的转换?

LibGDX onTouch()方法Array和flip方法

我怎样才能在我的应用程序中添加这个。 我想从InputProcessor的实现中使用onTouch()方法来杀死屏幕上的敌人。 我怎么做? 我必须对敌人做什么吗? 我也试图添加一个敌人arrays,它继续抛出exception或子弹现在正面临左<—再次使用子弹类中的翻转方法。 所有的代码都在下面,所以请任何人随时看看谢谢。 请帮忙谢谢 中号 //这是子弹类。 public class Bullet extends Sprite { public static final float BULLET_HOMING = 6000; public static final float BULLET_SPEED = 300; private Vector2 velocity; private float lifetime; private Rectangle bul; public Bullet(float x, float y) { velocity = new Vector2(0, 0); setPosition(x, y); AssetLoader.bullet1.flip(true, false); AssetLoader.bullet2.flip(true, false); […]

如何让演员跟随我的手指

我回来了另一个可能很简单的问题。 我在我的spritebatch上绘制了纹理,并使用Libgdx的input处理程序(touchDown和touchUp)使其向上或向下移动(仅限y轴)。 @Override public boolean touchDown(int screenX, int screenY, int pointer, int button) { myWhale.touchDownY = screenY; myWhale.isTouched = true; return true; } @Override public boolean touchUp(int screenX, int screenY, int pointer, int button) { myWhale.isTouched = false; return false; } myWhale是一个来自鲸类的对象,我移动我的纹理位置: public void update(float delta) { this.delta = delta; if(isTouched){ dragWhale(); } } public […]

玩家和高度图之间的碰撞

编程一个小型项目,一个opengl高度图。 它是三角形的构建,这些点适合正确的位置(从图像中读出)。 玩家被长方体复制。 (p1,p2,… p8)。 现在,我想实现玩家和高度图之间的碰撞检测。 我想把立方体分裂成整个世界,然后立方体再次立方体,然后在这个立方体中分配高度图的三角形(然后检查包含玩家的大立方体,小立方体,然后检查所有三角形碰撞)。 但是,哪种碰撞检测方法是最好的,我怎么实现呢? (顺便说一下,即时通讯使用lwjgl [java])

使对象跟随精灵边缘的最简单方法是什么?

我有一个圆角的矩形精灵和另一个精灵,只是一个圆圈。 我想要圆的中心跟随圆角矩形的边缘。 有没有简单的方法来完成这项任务? 我已经看到了其他一些关于曲线和AI预测algorithm的答案,但是对于我目前的需求来说,它们似乎更加复杂。 是使用这些algorithm,我想要做什么,或者有一个更简单的方法,使一个精灵沿着另一个边缘?

Tilemapgraphics渲染

假设我在我的世界地图上有10个城镇。 世界地图现在只是一个非常大的Tilemap。 我很好奇标准是什么。 我认为每个城镇都有一个Tilemap会更有效率。 如果我想在大的地图上从一个城镇走到另一个城市,我没有问题,但是如果我为每个城镇都有一个Tilemap,我该怎么做呢? 什么时候最好加载即将到来的Towns Tilemap?

我怎样才能用Slick制作一个声音系统?

我的问题是,如何在slick-util下开发一个易于使用的音响系统? 在function下 a.playAsSoundEffect(1, 1, true, x, y, z); 它已经可以为源创建一个静态位置。 但是如果我在游戏中调整我的CameraPosition。 那么我怎样才能在Slick中改变听众的位置呢? 答案将是真棒:)谢谢,Mineorbit!

LibGDX中animation序列的devise模式

在libGDX中涉及不同actor的animation序列使用什么样的devise模式。 例如,我正在做一个游戏,从一群羊中select一只狼。 游戏开始时播放的第一个animation是狼进入充满了两只羊的场地,然后狼伪装成一只羊,走向屏幕的中心。 然后游戏将洗牌羊。 完成后会询问玩家狼在哪里。 游戏等待玩家input。 之后,游戏将显示animation,以显示玩家的答案是对还是错。 我目前正在使用国家devise模式。 有wolfEnterState,DisguiseState,ShuffleState,UserInputState和answerAnimationState四个状态。 我觉得我的代码是混乱的。 我使用动作序列和动作完成(新的Runnable())的addAction很多。 我觉得这个动作序列正在变长。 有没有更好的解决scheme这种问题

Box2Dights – 除非Xray打开,精灵的中心总是100%不亮(黑色)

我正在使用一个180度的ConeLight,这个设置: pl = new ConeLight(rayHandler, 256, new Color(0.5f, 0.5f, 0.5f, 1f), 280f, 400 – x, 300 – y, 0, 180); 而我正在投影的对象(与?)是这样设置的: sprite = new Sprite(new Texture(imgP)); BodyDef bodyDef = new BodyDef(); bodyDef.type = BodyType.DynamicBody; bodyDef.position.set(x – 392.5f, y – 292.5f); body = Main.world.createBody(bodyDef); PolygonShape pushBlock = new PolygonShape(); pushBlock.setAsBox(((float) w / 2), ((float) h / […]