0
我正在創建一個遊戲,我正在試圖畫一條跟隨着我的手指的線。我正在使用椋鳥圖形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'應用相同的比例縮放。 – 2013-03-27 08:20:37
你會如何計算這一點?非常抱歉,數學不是我最強烈的觀點:( – vincent 2013-03-27 08:32:31
那麼,學習數學將會幫助你很多事情,一旦你開始沉迷於編程:)首先,你計算你必須繪製的部分:var part :Number = 50.0/lineLength;'然後你計算X&Y爲:'newX = _startpoint.x +(_ endpoint.x-_startpoint.x)* part;'(對於Y開關'.x'代表'.y')。 – Vesper 2013-03-27 08:37:17