gpt4 book ai didi

java - Tween 引擎 - Tween.to 忽略目标值

转载 作者:行者123 更新时间:2023-12-01 10:44:11 27 4
gpt4 key购买 nike

我正在尝试更改 Sprite 的 y 位置,翻译有效,我的问题是它忽略了我的目标并每次都转到一个特定点,我不明白为什么

Sprite 访问器代码:

public class SpriteAccessor implements TweenAccessor<Sprite>{
public static final int ALPHA = 1;
public static final int POSITION_X = 2;
public static final int POSITION_Y = 3;

@Override
public int getValues(Sprite target, int tweenType, float[] returnValues) {
switch (tweenType) {
case ALPHA:
returnValues[0] = target.getColor().a;
return 1;

case POSITION_X:
returnValues[1] = target.getX();
return 2;

case POSITION_Y:
returnValues[2] = target.getY();
return 3;

default:
return 0;
}
}

@Override
public void setValues(Sprite target, int tweenType, float[] newValues) {
switch (tweenType) {
case ALPHA:
target.setColor(1, 1, 1, newValues[0]);
break;

case POSITION_X:
target.setX(newValues[1]);
break;

case POSITION_Y:
target.setY(newValues[2]);
break;
}
}
}

以及我进行翻译的函数:

private void setupTween() {
Tween.registerAccessor(Sprite.class, new SpriteAccessor());
manager = new TweenManager();

TweenCallback cb = new TweenCallback() {
@Override
public void onEvent(int type, BaseTween<?> source) {

}
};

Tween.to(menuLogoSprite, SpriteAccessor.POSITION_Y, 2f)
.target()//any value i put here is ignored
.ease(TweenEquations.easeInOutQuint)
.setCallback(cb).setCallbackTriggers(TweenCallback.COMPLETE)
.start(manager);
}

最佳答案

看来您误解了 TweenAccessor 的工作原理。在 getValue() 方法中,您应该将值放入 returnValues 数组中,从元素零开始,结果应该是放置的值的数量。

这允许您使用一种补间类型处理多个值。

要解决您眼前的问题,请尝试此...

    switch (tweenType) {
case ALPHA:
returnValues[0] = target.getColor().a;
return 1;

case POSITION_X:
returnValues[0] = target.getX();
return 1;

case POSITION_Y:
returnValues[0] = target.getY();
return 1;

default:
return 0;
}
}

@Override
public void setValues(Sprite target, int tweenType, float[] newValues) {
switch (tweenType) {
case ALPHA:
target.setColor(1, 1, 1, newValues[0]);
break;

case POSITION_X:
target.setX(newValues[0]);
break;

case POSITION_Y:
target.setY(newValues[0]);
break;
}
}

警告 - 这是凭内存而写的,我实际上还没有尝试过你的代码。

关于java - Tween 引擎 - Tween.to 忽略目标值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34280965/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com