Processing 在处理过程中,为什么movie.jump()函数在电影反转期间不起作用?

Processing 在处理过程中,为什么movie.jump()函数在电影反转期间不起作用?,processing,movie,Processing,Movie,我正在处理电影。在电影反向播放期间,move.jump()函数不起作用。我有反向代码: (反向是全局布尔变量) 在reverse==true期间,我单击一些按钮,并跳到某个时间,例如5.0,代码如下所示: //after click button if(reverse == true){ movie.jump(5.0); } 这个跳跃函数不起作用。它不会跳转到5.0秒的电影帧。并显示一些错误: ast_segment_set_seek: assertion 'start <= st

我正在处理电影。在电影反向播放期间,move.jump()函数不起作用。我有反向代码: (反向
是全局布尔变量)

reverse==true
期间,我单击一些按钮,并跳到某个时间,例如5.0,代码如下所示:

//after click button
if(reverse == true){
   movie.jump(5.0);
}
这个跳跃函数不起作用。它不会跳转到5.0秒的电影帧。并显示一些错误:

ast_segment_set_seek: assertion 'start <= stop' failed

ast\u segment\u set\u seek:assertion'startEDIT:更合理的答案:是不是jump计算了与帧速率相关的位置,该位置在向后播放时变为负值,然后在开始之前结束?在这种情况下,我的变通方法应该有效

不确定您使用的是什么类,但您不能做一个变通方法吗?速度应该非常快,用户不会注意到:

if (reverse) {
    movie.speed(1f);
    // jump();
    movie.speed(playSpeed);
} else {
    // jump();
}
顺便说一句,可将反向写入(如果需要,则为否):


我知道答案,我自己想出来。 如果电影播放速度小于0,明星将小于停止。 所以,如果播放速度小于0,就*-1,让大于0,比跳跃,比*-1,让速度小于0

if(reverse == true){
          m.speed(playSpeed*-1);
          m.jump(5.0);
          m.speed(playSpeed*-1);
        }

我在处理中使用了电影类,并且有跳转功能。它可以在你想要的时间跳到任何地方。这是官方网站上的文档:跳到电影中的特定位置。其中的参数以秒为单位。例如,如果电影长度为12.2秒,则调用jump(6.1)将转到电影的中间。是否您必须首先设置帧速率?您自己找到的答案正是我很久以前提出的答案,只是我的答案更干净!
reverse = !reverse;
playSpeed = -playSpeed;
movie.speed(playSpeed);
if(reverse == true){
          m.speed(playSpeed*-1);
          m.jump(5.0);
          m.speed(playSpeed*-1);
        }