Bir nesneyi manipüle etmeye çalışıyorum. Başka bir nesneye yaklaştığında, bir dünya diyelim ki, kürenin orjinal nesneyle yerçekimsel bir çekime sahip olmasını istiyorum. CCBezierTo
'u kullanmam gerektiğini biliyorum, bu bir matematik sorusu olduğu için programlama sorusu değil.Cocos2D Bezier eğrisi, nesnenin etrafındaki yerçekimi
Matematiksel olarak, bezier eğrisinin üç noktasını (1, 2 ve son) nasıl bulabilirim ve mesafesine bağlı olarak bir ağırlık veririm (daha da uzağa = daha az çekme). Bir değişkende haritalanmış olan uzaklığa zaten sahibim.
Ayın etrafında sapan bir uzay gemisi düşünün.
Kodu:
ccBezierConfig bezier;
bezier.controlPoint_1 = ccp(projectile.position.x + 10, projectile.position.y + 20);
bezier.controlPoint_2 = ccp(projectile.position.x + 20, projectile.position.y + 40);
bezier.endPosition = ccp(projectile.position.x + 30, projectile.position.y+60);
id bezierAction = [CCBezierTo actionWithDuration:1 bezier:bezier];
[projectile stopAllActions];
[projectile runAction: bezierAction];
Niçin bir mermi nesnesine mesafenin karesiyle orantılı bir kuvvet vektörü uygulamıyorsunuz? yani neden sadece "yer çekimi" değil? Merminin doğrudan nesnenin merkezine doğru yönelmediği varsayılarak, yol doğal olarak kavisli olacaktır. – Robinson
http://oreilly.com/catalog/9780596000066 –