게임을 만들고 있는데 손가락을 따라가는 선을 그리려하고 있습니다. 나는 이것을 위해 starling graphic axtension을 사용하고 있는데, 그것은 매우 훌륭하게 작동하고 있으며, 나는 아래에서 그것을 어떻게하는지 볼 수 있습니다.손가락을 따라 그리는 선을 그립니다.
if (begin) {
_startPoint = new Point(begin.globalX, begin.globalY);
_line.graphics.lineStyle(1, 0xffffff, 1);
addChild(_line);
} else if (moved) {
var width:Number = MathUtils.DistanceBetweetnTwoPoints(_startPoint.x, _startPoint.y, moved.globalX, moved.globalY);
_currentPoint = new Point(moved.globalX, moved.globalY);
_line.graphics.clear();
_line.graphics.moveTo(_startPoint.x, _startPoint.y);
_line.graphics.lineTo(_currentPoint.x, _currentPoint.y);
} else if (end) {
_line.graphics.clear();
_endPoint = new Point(end.globalX, end.globalY);
addBlock(_startPoint, _endPoint);
}
그럼 내가하고 싶은 것은 다음과 같습니다. Atm 순간은 바로 내 손가락을 따라가는 것입니다. (시작점에서 현재 점까지 선을 그리지 만 최대 폭을 입력하고 싶습니다 .50이라고 말하면됩니다. 길이가 50을 넘으면 손가락이 회전 방향을 따라 가야합니다. 더 이상 더 이상 길지 않지만 내 손가락의 방향을 추적하여 그 방향으로 회전합니다.
그리고 마지막으로 (가능한지 확실하지 않지만) 선을 초록색에서 빨간색으로 바꾸는 것입니다. 더 가까워지면 최대 길이가됩니다. (전체 라인은 초록색이지만 50으로 가까워 질수록 빨간색으로 변합니다.)
나는이 쇼를 달성하는 방법을 모릅니다. 누군가가 올바른 방향으로 나를 가리킬 수 있다면 굉장 할 것입니다. .
+1. 거의 정확히 입력했지만 색상 작업이 더 깔끔하지 않았습니다. @vincent,'_endPoint'와 같은 비례 스케일링을 적용해야합니다. –
그리고 그 점을 어떻게 계산 하시겠습니까? 매우 유감 스럽지만, 수학이 내게 가장 중요한 점은 아니다. ( – vincent
프로그래밍을 두껍게 시작하면 수학을 배우는 것이 도움이 될 것입니다.) 우선, 그려야 할 부분을 계산합니다. 'var part : Number = 50.0/lineLength;'다음과 같이 X & Y를 계산합니다 : newX = _startpoint.x + (_ endpoint.x-_startpoint.x) * part;'('.y'의 Y 스위치'.x'). – Vesper