Arrays 处理-两点之间的动画

Arrays 处理-两点之间的动画,arrays,processing,lerp,Arrays,Processing,Lerp,我正在开发下面的代码。简单介绍一下,它允许用户单击屏幕上的不同点,然后这些鼠标坐标和位置存储在一个数组中,也可以在屏幕上看到。当用户单击enter时,会使用线性插值技术从第一个点移动到最后一个点。我在for循环中遇到困难,因为PVector v正在存储坐标。有谁能给我相应的指导吗 ArrayList向量; PVector v=新的PVector(); 布尔动画=假//声明一个布尔变量,可用于从建筑点切换到设置移动动画 int-FirstMouseClick//声明一个int变量以存储第一次鼠标单

我正在开发下面的代码。简单介绍一下,它允许用户单击屏幕上的不同点,然后这些鼠标坐标和位置存储在一个数组中,也可以在屏幕上看到。当用户单击
enter
时,会使用线性插值技术从第一个点移动到最后一个点。我在
for
循环中遇到困难,因为
PVector v
正在存储坐标。有谁能给我相应的指导吗

ArrayList向量;
PVector v=新的PVector();
布尔动画=假//声明一个布尔变量,可用于从建筑点切换到设置移动动画
int-FirstMouseClick//声明一个int变量以存储第一次鼠标单击的帧数
int AnimationStart//声明一个int变量以存储动画开始的帧数
无效设置()
{
大小(500500);
帧率(60);
向量=新的ArrayList();
}
作废提款()
{
if(!animate)//如果布尔变量animate为true
{
float output=frameCount-AnimationStart;//从当前帧数中提取动画开始帧数,以便知道应该显示向量数组中的哪个帧数

对于(int i=0;i我真的不确定你想做什么,但如果我说对了,你想做这样的事情:

  • 如果用户在画布上单击,则绘制一些圆圈
  • 如果用户按Enter键,则启动动画
  • 动画意味着:另一个圆(v)从一个圆线性移动到另一个圆
我真的不知道,你的帧数是用来做什么的。也许你现在可以更容易地将它添加到代码中了?请注意,你可以通过单击鼠标来添加新目标,即使动画是真的

您可以这样做:

ArrayList vectors=new ArrayList();
PVector v=新的PVector();
boolean animate=false;//true表示圆移动
int nextTarget=0;//定义下一个圆的索引,该点将
无效设置()
{
大小(500500);
帧率(60);
v=新的PVector(宽度/2,高度/2);
}
作废提款(){
//绘制背景以删除旧图形
背景(128);
//兜圈子

对于(inti=0;icheers非常感谢您的帮助,我使用了帧数,因为我使用了线性插值技术