我已经遵循了这个tutorial(包括速度和多线程)关于如何在Android中移动图像并且到目前为止这么好。但是我想知道如何将图像移动到圆圈中?
我整天都在修改Droid类中的update()方法....但无济于事。
public void update() {
if (!touched) {
x += (speed.getXv() * speed.getxDirection());
y += (speed.getYv() * speed.getyDirection());
} }
任何帮助我将永远感激。提前谢谢你。
答案 0 :(得分:1)
如果你想保持速度的概念,你需要改变速度矢量,改变它的方向,但在每个时间间隔保持它的大小,相等的度数。您必须确保定期调用更新函数。这样的事情应该有效:
public void update()
{
r = rFromXY(speed);
t = tFromXY(speed);
t += turningSpeed;
speed.setXv(xFromPolar(r,t));
speed.setYv(yFromPolar(r,t));
if (!touched)
{
x += (speed.getXv() * speed.getxDirection());
y += (speed.getYv() * speed.getyDirection());
}
}
aFromB函数在极坐标和笛卡尔坐标之间转换。 但是如果你想写任何严肃的东西,你应该看一下physics engine。