Processing I';m使用处理2.2.1。我需要加快移动矩形的速度,但不要使其过快”;“波涛汹涌”;
我正在使用processing 2.2.1。我有rw=rw-2;和rect(x,y,rw,ry);无效提款;所以矩形平均地变小了。如何在不将其更改为4的情况下加速(rw-2)。当我增加数字时,它会加快速度,但会变得更加斩波。如何在使数字更小、更平滑的同时加快速度?首先:请将您的实际(示例)代码添加到您的帖子中。这样我们可以看到你在做什么。另外,使用代码格式,使代码在文本的其余部分中脱颖而出。有关更多信息,请参阅Processing I';m使用处理2.2.1。我需要加快移动矩形的速度,但不要使其过快”;“波涛汹涌”;,processing,Processing,我正在使用processing 2.2.1。我有rw=rw-2;和rect(x,y,rw,ry);无效提款;所以矩形平均地变小了。如何在不将其更改为4的情况下加速(rw-2)。当我增加数字时,它会加快速度,但会变得更加斩波。如何在使数字更小、更平滑的同时加快速度?首先:请将您的实际(示例)代码添加到您的帖子中。这样我们可以看到你在做什么。另外,使用代码格式,使代码在文本的其余部分中脱颖而出。有关更多信息,请参阅 要加快动画速度,可以: 增加步长,以便在帧之间进行更大的更改(您说您不想要) 增加
要加快动画速度,可以:
void setup(){
帧速率(100);//将帧速率设置为100fps
}
作废提款(){
println(帧率);//打印实际帧率
}
有几种方法可以用来实现这一点,但一般来说,这种“起伏”感觉可能是因为您根据大量的帧而不是物理世界(物理!)进行缩放
作为一个简单的示例,请尝试使用更高的帧速率根据所经过的时间进行缩放,而不是依赖标量的帧速率:
int start;
void setup(){
size(400, 400, P3D);
start = millis();
frameRate(12);
smooth();
}
int rW = 200;
int rH = 200;
void draw(){
background(0);
stroke(255, 0, 0);
fill(255);
rect(50, 50, rW, rH);
int current = millis();
float scalar = (current - start) * 0.1f;//arbitrary scalar
rW -= scalar;
rH -= scalar;
start = current;
println(scalar);
}
您可能需要研究Verlet集成和一些物理模型。Toxiclibs是一个不错的API,它可能会给你一些你想要的东西。这里的关键点是,您可以调整帧速率,时间过后,您的模型将处于大致相同的位置。这提供了一个更可信的缩放,而不是依赖于帧速率
但是,如果帧速率是一致的(并不总是一致的),则可以简单地按循环缩放。根据我的经验,每分钟60帧的速度非常平稳。请记住,胶片是每秒24帧的,最近有一些明显的例外情况改用48帧。欢迎使用stackoverflow。对于这样的问题,通常会发布有效的代码,而不是在没有程序的情况下给出您认为相关的行(尽管,请确保不要粘贴代码页和代码页:仅显示a),作为旁注:是的,请发布您的代码,这样做会更快。