我正在尝试在 Adobe Animate CC 中创建一个简单的360度旋转。 因此,用户需要左右拖动图像来更改动画片段的帧。 (我有一辆汽车在32张照片中以360度动画渲染)
我有以下代码:
this.Silver.on("pressmove", function(evt){
evt.currentTarget.gotoAndStop(Math.round((evt.stageX/28.57142857)+1));// = (evt.stageX/2.777777778);
});
是否有一种简单的方法来创建一个简单的360?我搜索了谷歌的一些样本,但它们不在Adobe Animate CC中。我不是一个真正的程序员。只是想找到一种方法让我开始。
TNX!
答案 0 :(得分:0)
在舞台上拖动项目后,双击以转到属性。你应该找到"旋转"。输入359(不是360,因为这将使车轮跳转)。您还可以输入要旋转的次数。
希望这有帮助!
PM
答案 1 :(得分:0)
如果您打开“信息”面板(“窗口”>“信息”),您会注意到当您将鼠标光标向左移动时,x值会减小,当您将光标向右移动时,x值会降低增加。
您可以在此处应用相同的概念。您将需要一个变量来跟踪旧的x鼠标位置和变量以跟踪新的x鼠标位置。
如果您的新鼠标位置大于旧鼠标位置,您可以假设鼠标向右移动,您可以前进一帧。如果您的新鼠标位置小于旧鼠标位置,您可以假设鼠标向左移动,您将向后移动一帧。您还必须考虑到"转发"在最后一帧并且向前"向后"在MovieClip的第一帧。
以下是您可以采取的方法之一:
//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;
}
答案 2 :(得分:0)
Animate CC 19.0带有一个新的文档类型,可让您直接输出VR 360和VR Panorama内容。
有关更多详细信息,请参见此处:https://helpx.adobe.com/animate/using/virtual-reality.html