gpt4 book ai didi

java - 如何围绕正方形移动图像

转载 作者:行者123 更新时间:2023-12-02 05:11:41 24 4
gpt4 key购买 nike

我有一个方形图像(如一 block 板),每边有 10 个字段。我正在尝试在这个棋盘上移动,步入各个领域(就像棋盘游戏中的 token /典当,一步一归档)。 10步后我必须改变方向(上、左、右、下)。我正在尝试做任何动画,在循环中的每个迭代中更改图像位置,但它只工作一次。

示例:

for (int i = 0; i < range; ++i) {
asX = token.getX();
asY = token.getY();
moveLength = 2.5f;
if (1 case) {
token.animate().x(asX - (2.5f * token.getWidth())).y(asY);
} else if (2 case) {
token.animate().x(asX - (2.5f * token.getWidth())).y(asY);
} else if (3 case) {
token.animate().x(asX - (2.5f * token.getWidth())).y(asY);
} else if (4 case) {
token.animate().x(asX - (2.5f * token.getWidth())).y(asY);
}
position++;
token.invalidate();
}
range is a number of moves,1 case - move left,2 case - move up,3 case - move rigth,4 case - move down

例如,当 range=6 且 pos=0( token 位于起始字段)时, token 应向左移动 6 个字段(因为 pos < 10 且 range 也 < 10),接下来当 range=8 且 pos 时=6, token 应向左移动 4 个字段,然后向上移动 4 个字段,依此类推。它仅移动一个字段,而不移动范围。有什么想法吗?

最佳答案

使用 ObjectAnimator 类具有新的构造函数,使您能够对坐标进行动画处理

更多请阅读this

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Path path = new Path();
path.arcTo(0f, 0f, 1000f, 1000f, 270f, -180f, true);
ObjectAnimator animator = ObjectAnimator.ofFloat(view, View.X, View.Y, path);
animator.setDuration(2000);
animator.start();
} else {
// Create animator without using curved path
}

关于java - 如何围绕正方形移动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56323257/

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