#animation #adobe #createjs #360-degrees #adobe-animate
#Анимация #adobe #createjs #Вращение на 360 градусов #adobe-animate
Вопрос:
Я пытаюсь создать простое вращение на 360 градусов в Adobe Animate CC. Таким образом, пользователю необходимо перетаскивать изображение влево и вправо, чтобы изменить кадр видеоролика. (у меня есть автомобиль, визуализированный в 360-градусной анимации на 32 снимках)
У меня есть следующий код:
this.Silver.on("pressmove", function(evt){
evt.currentTarget.gotoAndStop(Math.round((evt.stageX/28.57142857) 1));// = (evt.stageX/2.777777778);
});
есть ли простой способ создать простой 360? Я поискал в Google несколько примеров, но их нет в Adobe Animate CC. И я на самом деле не программист. Просто пытаюсь найти способ начать.
спасибо!
Ответ №1:
После перетаскивания элемента на сцену дважды щелкните, чтобы перейти к свойствам. Вы должны найти «Вращение». Введите 359 (не 360, так как это приведет к скачку колеса). Вы также можете указать, сколько раз вы хотите, чтобы она вращалась.
Надеюсь, это поможет!
PM
Ответ №2:
Если вы откроете информационную панель (Окно > Информация), вы заметите, что при перемещении курсора мыши влево значение x уменьшается, а при перемещении курсора вправо значение x увеличивается.
Вы могли бы применить ту же концепцию и здесь. Вам понадобится переменная для отслеживания вашего старого положения мыши x и переменная для отслеживания вашего нового положения мыши x.
Если ваше новое положение мыши больше старого, вы можете предположить, что мышь перемещается вправо, и вы перейдете на кадр вперед. Если ваше новое положение мыши меньше старого, вы можете предположить, что ваша мышь перемещается влево, и вы вернетесь на кадр назад. Вам также придется учитывать движение «вперед» в последнем кадре и движение «назад» в первом кадре вашего видеоролика.
Вот один из способов, которым вы можете подойти к этому:
//Create a reference to store the previous x mouse position
var old_mouseX = 0;
//Add an event listener
this.Silver.addEventListener("pressmove", mouseMovementHandler);
//Mouse movement handler
function mouseMovementHandler(event){
//Get a reference to the target
var currentTarget = event.currentTarget;
//Get a reference to the current x mouse position
var current_mouseX = stage.mouseX;
//Check for mouse movement to the left
if(current_mouseX < old_mouseX){
//Check if we're within the total frames of the MovieClip
if(currentTarget.currentFrame - 1 >= 0 ){
currentTarget.gotoAndStop(currentTarget.currentFrame - 1);
}
//If not, restart on the last frame of the MovieClip
else{
currentTarget.gotoAndStop(currentTarget.totalFrames - 1);
}
}
//Check for mouse movement to the right
else if(current_mouseX > old_mouseX){
//Check if we're within the total frames of the MovieClip
if(currentTarget.currentFrame 1 <= currentTarget.totalFrames - 1){
currentTarget.gotoAndStop(currentTarget.currentFrame 1);
}
//If not, restart at frame 0
else{
currentTarget.gotoAndStop(0);
}
}
//Update the old mouse position
old_mouseX = current_mouseX;
}
Ответ №3:
Animate CC 19.0 поставляется с новым doctype, который позволяет экспортировать содержимое для VR 360 и VR Panorama «из коробки».
Смотрите здесь для получения более подробной информации: https://helpx.adobe.com/animate/using/virtual-reality.html