繁体   English   中英

通过跟随Android上手指的位置来旋转libgdx中的精灵

[英]Rotate sprite in libgdx by following the position of finger on android

我正在尝试根据手指在触摸屏上的位置旋转精灵。

我有一个箭头,我希望箭头始终在我在屏幕上拖动时始终指向我的手指。

我可以使用sprite.setRotation(angle)轻松将sprite设置为任意旋转

我应该怎么做?

非常感谢您能指出我正确的方向。

(ax, ay)是箭头中心的坐标, (fx, fy)是手指的坐标, a是角度,这是一些伪代码:

dx = fx - ax
dy = fy - ay
if (dx == 0) {
    a = 90
    return
}
if (dy == 0) {
    a = 0
    return
}
//tan(a) == abs(dy) / abs(dx) therefore
a = arctan(dy / dx)
if (dx > 0 && dy > 0) {
    // do nothing, a is correct
} else if (dx > 0 && dy < 0) {
    a = 360 - a
} else if (dx < 0 && dy > 0) {
    a = 180 - a
} else {
    a = 180 + a
}

我还没有实现和测试它,如果需要的话我会在以后做

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM