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