Weźmy następujący AS3 że będzie narysować linię krzywą za pomocą curveTo()
:Jak mogę przekonwertować curveTo() na listę punktów?
var line:Shape = new Shape();
line.x = line.y = 20;
line.graphics.lineStyle(2, 0xFF0000);
line.graphics.curveTo(200, 200, 200, 0);
addChild(line);
Powstały wizualny jest:
Teraz chcę coś, aby móc podążać tą ścieżką; jak mogę przekonwertować ten wizualny na listę współrzędnych? Walczę z jakąkolwiek zaawansowaną matematyką, ale zakładam, że istnieje pewna (do jakiejś) formuła, którą curveTo()
używa do stworzenia powyższego, którą mogę replikować i poprawiać, aby utworzyć moją pożądaną listę.
Wynik może wyglądać tak (przy założeniu przesunięcia około 5 punktów między punktami).
Vector.<Point> = [
new Point(20, 20),
new Point(23, 23),
new Point(27, 28),
new Point(33, 32),
new Point(40, 37)
/* ...etc... */
];
Rezultatem będzie używany do rzeczy, takich jak tworzenie deszcz pocisków, które następują następujące ścieżki, na przykład:
Należy również sprawdzić ten facet blog: http://www.paultondeur.com/ 2008/03/09/rysunek-a-cubic-bezier-curve-using-actionscript-3 /, im go używać do tego. – turbosqel