我正在学习使用带有通用补间引擎的libgdx,并且无法弄清楚如何触摸(或点击桌面应用程序)屏幕上的一个点并让纹理一直移动到触摸位置在没有保持触摸或点击活动直到达到终点之前.
触摸事件启动后,动画开始,图形向该位置移动.如果启动了触摸和拖动,图形将遵循手指/鼠标指针.如果我触摸一个点,图形将朝向该点移动,直到触摸被释放.然后它停止触摸释放时的位置.
我正在寻找触摸和释放,并将图形移动到触摸点,我可能不理解有关补间引擎实现的一些信息.我已粘贴下面的补间代码.
public void render() {
camera.update();
batch.setProjectionMatrix(camera.combined);
batch.begin();
batch.draw(texture.getTexture(), texture.getBoundingBox().x, texture.getBoundingBox().y);
batch.end();
Tween.registerAccessor(Plane.class, new TextureAccessor());
TweenManager planeManager = new TweenManager();
float newX = 0;
float newY = 0;
boolean animateOn = false;
if(Gdx.input.isTouched()) {
newX = Gdx.input.getX();
newY = Gdx.input.getY();
animateOn = true;
}
if (animateOn == true && (texture.getX() != newX || texture.getY() != newY)) {
Tween.to(texture, TextureAccessor.POSITION_XY, 10)
.target(newX, newY)
.ease(TweenEquations.easeNone)
.start(planeManager);
planeManager.update(1);
if (texture.getX() == newX && texture.getY() == newY) {
animateOn = false;
} …Run Code Online (Sandbox Code Playgroud)