| 
	| 
	
	| 
		
	| 
			
			 
			
				23.12.2019, 16:09
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 23.12.2019 
						Сообщений: 11
					 
		
 |  |  
	| 
				время анимации
			 есть команда сортировки которая размещает объекты в зависимости от изменения значения, можно ли сделать так чтобы перемещение объекта происходило не мгновенно а плавно? 
var layerCounts = [comp("1").layer("Слой-фигура 2").effect("Элемент управления точкой")("Точка")[0], comp("2").layer("Слой-фигура 2").effect("Элемент управления точкой")("Точка")[0], comp("3").layer("Слой-фигура 2").effect("Элемент управления точкой")("Точка")[0], comp("4").layer("Слой-фигура 2").effect("Элемент управления точкой")("Точка")[0]];
arr = layerCounts.sort(function(a, b) {return b - a});
var el1 = thisComp.layer("Слой-фигура 2").effect("Элемент управления точкой")("Точка")[0];
temp = ((arr.indexOf(el1))+1)*68-43;
[80, temp]
то есть чтоб изменение значения temp происходило плавно |  |  
	| 
		
	| 
			
			 
			
				23.12.2019, 16:25
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 20.12.2009 
						Сообщений: 1,714
					 
		
 |  |  
	| 
	
 
	| Сообщение от pavelxodos |  
	| то есть чтоб изменение значения temp происходило плавно |  
	
  Я правильно понимаю, что у вас эти значения [80, temp]  используются в качестве значении для CSS-свойств top , left ? Или transform ? Если оно так и есть, вы можете использовать, например, стиль transition: 500ms;  на объекте! |  |  
	| 
		
	| 
			
			 
			
				23.12.2019, 16:36
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 23.12.2019 
						Сообщений: 11
					 
		
 |  |  
	| используется для управления transform.position, если можно скажите конкретней как привязать этот стиль и время к моему кодуp. s. я не совсем программист а этот код собирал не один час из того что находил в интернете
 			 Последний раз редактировалось pavelxodos, 23.12.2019 в 17:00.
 |  |  
	| 
		
	| 
			
			 
			
				26.12.2019, 12:17
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 23.12.2019 
						Сообщений: 11
					 
		
 |  |  
	| Malleys,так можно только в css а мне нужно на js
 |  |  
	| 
		
	| 
			
			 
			
				26.12.2019, 12:33
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 20.12.2009 
						Сообщений: 1,714
					 
		
 |  |  
	| 
	
 
	| Сообщение от pavelxodos |  
	| так можно только в css а мне нужно на js |  
	
  Так экспериментируйте со временем... откуда я могу знать, что у вас там...
 
var layerCounts = [
	comp("1").layer("Слой-фигура 2").effect("Элемент управления точкой")("Точка")[0],
	comp("2").layer("Слой-фигура 2").effect("Элемент управления точкой")("Точка")[0],
	comp("3").layer("Слой-фигура 2").effect("Элемент управления точкой")("Точка")[0],
	comp("4").layer("Слой-фигура 2").effect("Элемент управления точкой")("Точка")[0]
];
var arr = layerCounts.sort(function(a, b) {
	return b - a
});
var el1 = thisComp.layer("Слой-фигура 2").effect("Элемент управления точкой")("Точка")[0];
var from = 68 * layerCounts.indexOf(el1) + 25;
var to = 68 * arr.indexOf(el1) + 25;
[80, (to - from) * Math.min(1, 0.1 * time) + from]
 |  |  
	| 
		
	| 
			
			 
			
				26.12.2019, 13:20
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 23.12.2019 
						Сообщений: 11
					 
		
 |  |  
	| Malleys,
  
var from = transform.position[1];
var to = 68 * arr.indexOf(el1) + 25;
[80, (to - from) * Math.min(1, 0.1 * time) + from]
 
проблема в том что и from и to динамические, то есть перемещение объекта которому я пытаюсь задать координаты, может происходить n-ое количество раз, пытался взять разницу разделить на количество кадров в секунду и задать интервал - тоже не получилось  
var z = from
var r = (to - from)/25;
let timer = setInterval(function() {
  z += r
}, 20);
[80, z]
 |  |  
	| 
		
	| 
			
			 
			
				26.12.2019, 17:07
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 23.12.2019 
						Сообщений: 11
					 
		
 |  |  
	| Malleys,можете хотя бы сказать это вообще возможно сделать? а то уже несколько дней безрезультатных поисков по сети
 |  |  
	| 
		
	| 
			
			 
			
				26.12.2019, 18:13
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| 
	
 
	| Сообщение от pavelxodos |  
	| несколько дней безрезультатных поисков |  
	
 похоже один Malleys , понимает на каком наречии js вы пишите. |  |  
	| 
		
	| 
			
			 
			
				26.12.2019, 18:26
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 23.12.2019 
						Сообщений: 11
					 
		
 |  |  
	| рони, 
 программа афтер эфектс скрипты пишу чтоб не выполнять одно и то же действие много раз, я думал язык javascript один  
var z = from
var r = (to - from)/25;
let timer = setInterval(function() {
  z += r
}, 20);
[80, z]
 z значение (координата) изменяется от from к to 
цель: добиться чтоб значение z изменялось не мгновенно после смены to а за одну секунду (как бы плавно) значение to тоже может меняться во времени |  |  |  |