[英]Libgdx : Sprite want stop moving;
我正在尝试让精灵行走到鼠标位置。 但是,当单击鼠标并且精灵移动到鼠标位置时,它不会停止并且会沿相同方向移动。
这是我的代码:
public void render(float delta) { Gdx.gl.glClearColor(1,1,1,1); Gdx.gl.glClear(GL30.GL_COLOR_BUFFER_BIT); if(Gdx.input.isTouched()){ projected= new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0); cam.unproject(projected); if(position.x != projected.x || position.y != projected.y){ pathX = projected.x - position.x; pathY = projected.y - position.y; distance = (float) Math.sqrt(pathX * pathX + pathY * pathY); directionX = pathX / distance; directionY = pathY / distance; } } position.x += directionX * Speed * delta; position.y += directionY * Speed * delta; }
请帮助,非常感谢。
这基本上是如何停止在libgdx中绘制SpriteBatch动画的重复副本? || 如何使用按钮暂停libGDX中的SpriteAnimation,以便在按下暂停按钮时能够查看当前帧? ,请查看本文以查看是否有帮助。
简而言之,您想跟踪玩家的移动,当他们到达鼠标的x,y坐标时,将移动设置为false。 使渲染内的逻辑仅在布尔值为true时才渲染。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.