Как сделать перевод узла? - PullRequest
0 голосов
/ 20 ноября 2018

Случай solarsystem может заставить узел вращаться, и я хочу знать, как анимировать объект вверх и вниз? Это код случая solarsystem:

Quaternion orientation1 = Quaternion.axisAngle(new Vector3(0.0f, 1.0f, 0.0f), 0);
Quaternion orientation2 = Quaternion.axisAngle(new Vector3(0.0f, 1.0f, 0.0f), 120);
Quaternion orientation3 = Quaternion.axisAngle(new Vector3(0.0f, 1.0f, 0.0f), 240);
Quaternion orientation4 = Quaternion.axisAngle(new Vector3(0.0f, 1.0f, 0.0f), 360);
ObjectAnimator orbitAnimation = new ObjectAnimator();
orbitAnimation.setObjectValues(orientation1, orientation2, orientation3, orientation4);
orbitAnimation.setPropertyName("localRotation");
orbitAnimation.setEvaluator(new QuaternionEvaluator());
orbitAnimation.setRepeatCount(ObjectAnimator.INFINITE);
orbitAnimation.setRepeatMode(ObjectAnimator.RESTART);
orbitAnimation.setInterpolator(new LinearInterpolator());
orbitAnimation.setAutoCancel(true);

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Я работаю в этом коде:

Vector3 vector1 = new Vector3(getRandom(), getRandom(), playNode.getLocalPosition().z);
    ObjectAnimator dropAnimation = new ObjectAnimator();
    dropAnimation.setObjectValues(vector1);
    dropAnimation.setPropertyName("localPosition");
    dropAnimation.setEvaluator(new Vector3Evaluator());
    dropAnimation.setRepeatCount(ObjectAnimator.INFINITE);
    dropAnimation.setRepeatMode(ObjectAnimator.RESTART);
    dropAnimation.setInterpolator(new LinearInterpolator());
    dropAnimation.setAutoCancel(true);

    return dropAnimation;
0 голосов
/ 20 ноября 2018

Полагаю, это неправильное соображение. Потому что ObjectAnimator может анимировать только подкласс View (например, TextView, Button и т. Д.). Но не включает Узел . Согласно документации,

Узел представляет преобразование в иерархии графа сцены. Может содержать рендеринг для рендеринга движком рендеринга.

Вам нужно больше исследований о Узле , чтобы сделать вращение

...