Показать сообщение отдельно
Старый 13.11.2006, 02:13
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 8  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 Randomm:
Вставить на кадр таймлайна.
Код:
import mx.transitions.Tween;
import mx.transitions.easing.*;

var myCircleName:String = "circle";
var myCircleX:Number = Stage.width / 2;
var myCircleY:Number = Stage.height / 2;
var myCircleRadius:Number = 30;
var myCircleFillColor:Number = 0xff0000;
var myCircleLineColor:Number = 0x000000;
var myCircleLineWidth:Number = 1;
var circleSpeed:Number = 60;
var circleXMoveTween:Tween;
var circleYMoveTween:Tween;

var circleClip:MovieClip = createCircleMovieClip(myCircleName, this, this.getNextHighestDepth(), myCircleX, myCircleY, myCircleRadius, myCircleFillColor, 100, myCircleLineColor, 100, myCircleLineWidth);

this.onMouseDown = function()
{
	circleXMoveTween = new Tween(circleClip, "_x", Strong.easeOut, circleClip._x, this._xmouse - circleClip._width / 2, circleSpeed, false);
	circleXMoveTween = new Tween(circleClip, "_y", Strong.easeOut, circleClip._y, this._ymouse - circleClip._height / 2, circleSpeed, false);	
}

function createCircleMovieClip(circleName:String, parentClip:MovieClip, parentClipDepth:Number, circleX:Number, circleY:Number, circleRadius:Number, circleFillColor:Number, circleFillAlpha:Number, circleLineColor:Number, circleLineAlpha:Number, circleLineWidth:Number):MovieClip
{
	var newCircleClip:MovieClip = parentClip.createEmptyMovieClip(circleName, parentClipDepth);
	newCircleClip._x = circleX - circleRadius;
	newCircleClip._y = circleY - circleRadius;
	newCircleClip.lineStyle(circleLineWidth, circleLineColor, circleLineAlpha);
	newCircleClip.beginFill(circleFillColor, circleFillAlpha);
	var tanPI8:Number = Math.tan(Math.PI / 8);
	var sinPI4:Number = Math.sin(Math.PI / 4);
	newCircleClip.moveTo(2 * circleRadius, circleRadius);
	newCircleClip.curveTo(2 * circleRadius, (tanPI8 + 1) * circleRadius, (sinPI4 + 1) * circleRadius, (sinPI4 + 1) * circleRadius);
	newCircleClip.curveTo((tanPI8 + 1) * circleRadius, 2 * circleRadius, circleRadius, 2 * circleRadius);
	newCircleClip.curveTo((1 - tanPI8) * circleRadius, 2 * circleRadius, (1 - sinPI4) * circleRadius, (sinPI4 + 1) * circleRadius);
	newCircleClip.curveTo(0, (tanPI8 + 1) * circleRadius, 0, circleRadius);
	newCircleClip.curveTo(0, (1 - tanPI8) * circleRadius, (1 - sinPI4) * circleRadius, (1 - sinPI4) * circleRadius);
	newCircleClip.curveTo((1 - tanPI8) * circleRadius, 0, circleRadius, 0);
	newCircleClip.curveTo((tanPI8 + 1) * circleRadius, 0, (sinPI4 + 1) * circleRadius, (1 - sinPI4) * circleRadius);
	newCircleClip.curveTo(2 * circleRadius, (1 - tanPI8) * circleRadius, 2 * circleRadius, circleRadius);	
	newCircleClip.endFill();
	return newCircleClip;
}
Для движения без узкорений в конструкторе вместо Strong.easeOut использовать None.easeNone...
Исходник прикрепляю...
Вложения
Тип файла: zip moveToCursorTween.zip (4.7 Кб, 102 просмотров)
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого