好吧我有一個粒子系統在Android。Android粒子系統融合單點
現在我用500級左右的粒子,它們隨意在屏幕上移動。我把它設置好以便接觸(現在實際上是運動)。所有的粒子都會接近你的手指。問題在於他們正在以一個靜態角度接近(而不是從他們接觸的角度)。
任何人都有的算法來確定如何均勻地接近一個點?我嘗試在randians中獲得角度,然後轉換等等。真的很混亂。這種簡單的方法表明我以正確的步調移動......但它是一種簡單的45度角方法。 (請記住在android中沒有負x,y座標..和左上角是0,0 ..右下角是(max,max)。函數採用ontouch(x,y)座標。顆粒coordiantes
public void moveParticles(float x, float y) {
for (Particle b : Particles)
{
if (x <= b.x)
b.x = b.x -1;
else b.x = b.x +1;
if (y <= b.y)
b.y = b.y -1;
else b.y = b.y +1;
}
}
平均而言,你的意思是一個更好的過渡,而不是直接指向觸摸點?像往中心的圓形運動一樣? – Jack
如果你看看代碼是如何在它碰到原點的x軸或y軸後以45度的角度接近觸點的話。它會轉到原點。實際上每個粒子應該以直線方式接近點或原點。 – DJPlayer