如何在libgdx中围绕其中心拖动旋转圆圈?

时间:2015-09-01 08:28:18

标签: android libgdx

我在屏幕上有乙烯基盘图像。触摸光盘中心时应播放音乐。问题是如何检测光盘中心周围的拖动旋转(这样您可以回放声音)。换句话说,用户触摸光盘并使其手指围绕光盘的中心移动。光盘应该旋转,音乐应该倒带或前进。

1 个答案:

答案 0 :(得分:1)

我要做的是:

  1. 将DragListener附加到一个圆圈(甚至是舞台取决于您确切需要的内容)
  2. on dragStart()我会记得拖动起点并停止播放音乐
  3. 关于拖动(事件,x,y,指针)我会计算向量的角度 new Vector2((start.x + x) - center.x,(start.y + y) - center.y) 其中center是Vector2类型变量保持圆心,start是Vector2变量保持开始拖动位置 - 你还必须记住角度(第一次只是得到一个角度 center 和<强>开始)
  4. 具有角度I将其除以360然后计算声音片段长度并向前或向后播放,因为角度高于或小于上一次
  5. 片段长度取决于“音乐是圆的一整圈旋转多长时间”

    请记住将原点设置为圆的中心 - 否则它将在左下角旋转

    circle.setOrigin(Align.center); //assumin circle is Actor type (or inherits)