Javascript CreateJs-通过单击控制时间轴播放头(&;拖曳

Javascript CreateJs-通过单击控制时间轴播放头(&;拖曳,javascript,movieclip,createjs,Javascript,Movieclip,Createjs,第一次在这里发帖,希望我做得对:)我正试图用createJS在Adobe Animate中创建一个360度旋转,使用嵌入在MovieClip中的一系列图像。我已使用以下代码成功控制了timeline playhead:- var start_x; var startFrame; var changeDistance; var travelDistance; this.threeSixty.addEventListener("mousedown", onMouseDown.bind(this))

第一次在这里发帖,希望我做得对:)我正试图用createJS在Adobe Animate中创建一个360度旋转,使用嵌入在MovieClip中的一系列图像。我已使用以下代码成功控制了timeline playhead:-

var start_x;
var startFrame;
var changeDistance;
var travelDistance;

this.threeSixty.addEventListener("mousedown", onMouseDown.bind(this));
this.threeSixty.addEventListener("pressup", onMouseUp.bind(this));

function onMouseDown(e) {
    start_x = e.stageX;
    startFrame = this.threeSixty.timeline.position;
    this.threeSixty.addEventListener("pressmove", onMouseMove.bind(this));
}

function onMouseUp(e) {
    this.threeSixty.removeEventListener("pressmove", onMouseMove.bind(this));
}

function onMouseMove(e) {
    var changeDistance = e.stageX-start_x;
    var travelDistance = startFrame+changeDistance;

    if (travelDistance > this.threeSixty.timeline.duration){
        this.threeSixty.gotoAndStop(travelDistance % this.threeSixty.timeline.duration);
    }else if (travelDistance < 0){
        this.threeSixty.gotoAndStop (this.threeSixty.timeline.duration + (travelDistance % threeSixty.timeline.duration));
    } else {
    this.threeSixty.gotoAndStop(travelDistance);
    }
}
var启动;
var启动框架;
var变化距离;
var旅行距离;
this.360.addEventListener(“mousedown”,onMouseDown.bind(this));
this.360.addEventListener(“pressup”,onMouseUp.bind(this));
函数onMouseDown(e){
start_x=e.stageX;
startFrame=this.360.timeline.position;
this.360.addEventListener(“pressmove”,onMouseMove.bind(this));
}
函数onMouseUp(e){
this.360.removeEventListener(“pressmove”,onMouseMove.bind(this));
}
移动鼠标的功能(e){
var changeDistance=e.stageX-start_x;
var travelDistance=开始帧+更改距离;
如果(旅行距离>本.360.时间线.持续时间){
this.360.gotoAndStop(旅行距离%this.360.timeline.duration);
}否则如果(移动距离<0){
this.360.gotoAndStop(this.360.timeline.duration+(旅行距离%360.timeline.duration));
}否则{
此.360.gotoAndStop(旅行距离);
}
}
问题是,当您沿X轴单击并拖动图像时,图像序列仅向前/向后移动一帧,而不是继续图像序列,直到鼠标停止移动或释放鼠标单击。你知道我哪里会出错吗


谢谢

您有没有机会把这个号码四舍五入/四舍五入?你有工作样品要分享吗?谢谢你的回复@Lanny。最后,我将eventListeners添加到舞台上,而不是MovieClip本身,并使用了“stagemousemove”而不是“pressmove”。这解决了问题。我仍然不明白为什么“pressmove”不起作用,我只能假设它与“mousedown”事件相冲突。但是现在都修好了,谢谢。