İlk not: matematiksel olarak, hiç de yetenekli değilim.AS3'te bir parabol formülü, her zaman belirli bir noktayı kesecek bir ok atmak için nasıl kullanılır
iPhone'u bir noktaya bastığınız bir yere geri döndüm ve kalenizin her zaman bastığınız noktayı kesişen bir ok fırlatır. Benzer bir oyun yapmak istedim, bunun kolay bir çabuk olacağını düşünüyorum; sonra bunun için matematikin aslında beceri düzeyimin ötesinde olduğunu fark ettim.
Parabol formülünü veya ok için ok tıklandığında gereken hızı ve açıyı her zaman tıklatılan noktayı kesiştirmek için kullanacaklarını varsayıyorum.
Sadece parabollerin okuldan nasıl çalıştığını ve hiçbir formül üzerinde çalışma şansı olmadığını hatırlıyorum.
Uygulanması daha kolay olabilecek herhangi bir matematiksel yardım veya fikir harika olacaktır.
ben şöyle kalemde bir fonksiyonu ile bitirmek istiyorum:
package
{
import avian.framework.objects.AvElement;
public class Castle extends AvElement
{
/**
* Fires an arrow from this
* @param ix The x intersection point
* @param iy The y intersection point
*/
public function fire(ix:Number, iy:Number):void
{
var ar:Arrow = new Arrow();
ar.x = x;
ar.y = y;
// define angle and velocity based on ix, iy
// ar.fireAngle = ??
// ar.fireVelocity = ??
parent.addChild(ar);
}
}
}
Güncelleme sorulara göre yorumlarında:
olacak hiçbir kuvvet rüzgar gibi ok uygulanan , sürtünme, vb. Ayrıca, okun başlangıç noktası oyun boyunca sabitlenir (kale). Burada
biraz daha açık olması için bir örnek görüntü:mümkün olduğu kadar net olmak gerekirse: (: 40, 120 diyelim)
- Ok her zaman sabit bir noktadan yolculuğuna başlar.
- Ok, her zaman belirli bir koordinatı yakalamalıdır.
- Mümkün olduğu kadar gerçekçi bir yol, başarmak istediğim bir şeydir (açıkçası, herhangi bir noktayı kesiştirmek için sadece bir ok ateşleyebilirim, ancak hedefi, okun ilk yükselişine, sonra inmeye, istenen yolculuğunun en gerçekçi noktasında koordine etmek).
Not: orada olmak sonsuz olası parabolas sorunu önlemek için - sadece ok at bırakabilir açısını tanımlayan bakmak - sabitlenebilir okun hızını.
Sadece hızlı bir not: Ayrıca bir başlangıç noktasına (hedefin yanı sıra) da ihtiyacınız olacak. – Cameron
Böylece okun bitmesini istediğiniz yere tıklıyorsunuz? Köken koordinatlarına da ihtiyacınız olacak. Biri sabit olmadıkça, açı ve hız, eşleştirilmiş bir değerler aralığı olacaktır. Açıktır ki, hız en uygun açıdaki mesafeyi elde etmek için en azından minimum olmalıdır. Ancak açı çok ise, o zaman hız da olabilir. Hava direnci yok, rüzgar yok mu? Dünya standart yerçekimi? – Orbling
Bu [grafik ve altındaki denklemler] (http://www.physics.brocku.ca/~aknigavk/1P21/Kinematics/projectile-motion-1.jpg) yararlıdır. – Orbling