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

Регистрация: Aug 2013
Сообщений: 56
Вот теперь можно будет запускать одновременно несколько разных объектов.
Код AS3:
var coordinates:Dictionary = new Dictionary();
 
 
ani(myStar1, [{x:20,y:100},{x:40,y:200}, {x:160, y:320}], 1);
ani(myStar1, [{x:200,y:100},{x:400,y:200}, {x:16, y:320}], 1);
ani(myStar2, [{x:120,y:100},{x:25,y:200}, {x:16, y:320}], 1);
ani(myStar2, [{x:20,y:10},{x:40,y:20}, {x:160, y:32}], 1);
 
 
function ani(object:DisplayObject, coords:Array, speedt:int = 1):void 
{
	if (coords) 
	{
		if (!coordinates[object])
		{
			coordinates[object] = coords;
		}
		else 
		{
			coordinates[object] = coordinates[object].concat(coords);
			return;
		}
	}
	if (coordinates[object])
	{
		var nextCoords:Object = coordinates[object].shift();
		nextCoords.onComplete = ani;
		nextCoords.onCompleteParams = [object, null, speedt];
		if (!coordinates[object].length) delete coordinates[object];
		TweenLite.to(object, speedt, nextCoords);
	}
}
Для передачи доп параметров просто передавайте их вместе с x и y например
Код AS3:
{x:30, y:200, scaleX:0.5}
Разумеется только свои onComplete и onCompleteParams передать не получится их юзает ani() в своих нуждах.


Последний раз редактировалось Котейка; 13.08.2013 в 03:15.