gpt4 book ai didi

algorithm - 在 Processing 中使用正弦算法简化跟踪

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:30:36 26 4
gpt4 key购买 nike

这是我的源代码:

int index;
int num = 60;
float mx[] = new float[num];
float my[] = new float[num];
float explosion;
float x;
float y;
float px;
float py;
float xold;
float yold;
float xplode1;
float yplode1;
float xplode2;
float yplode2;
float xplode3;
float yplode3;
float xplode4;
float yplode4;
float easing = 0.05;

void setup() {
size(1366, 768);
noStroke();
// noFill();
fill(25, 155);
}

void draw() {
int which = frameCount % num;

explosion = explosion + 0.32;
background(92, 55, 169);

float targetX = mouseX;
float dx = targetX - px;
float lx = targetX - x;
if (abs(dx) > 1) {
mx[which] += dx * easing;
x += lx * easing;
if (mousePressed && (mouseButton == LEFT)) {
xplode1 = dx + 50 + sin(explosion)*30;
xplode2 = dx + 50 + sin(explosion)*30;
xplode3 = dx - 50 - sin(explosion)*30;
xplode4 = dx - 50 - sin(explosion)*30;
}
else {
xplode1 = -10;
xplode2 = -10;
xplode3 = -10;
xplode4 = -10;
}
}

float targetY = mouseY;
float dy = targetY - py;
float ly = targetY - y;
if (abs(dy) > 1) {
my[which] += dy * easing;
y += dy * easing;
if (mousePressed && (mouseButton == LEFT)) {
yplode1 = dy + 50 + sin(explosion)*30;
yplode2 = dy - 50 - sin(explosion)*30;
yplode3 = dy - 50 - sin(explosion)*30;
yplode4 = dy + 50 + sin(explosion)*30;
}
else {
yplode1 = -10;
yplode2 = -10;
yplode3 = -10;
yplode4 = -10;
}
}

for(int i = 0;i<num;i++){
index = (which + 1 + i) % num;
ellipse(mx[index], my[index], i, i);
}
ellipse(xplode1, yplode1, 10, 10);
ellipse(xplode2, yplode2, 10, 10);
ellipse(xplode3, yplode3, 10, 10);
ellipse(xplode4, yplode4, 10, 10);
}

我想要 ~60 的轨迹,并且对整个事情也有一些缓和。我已经让每个功能单独工作,但是当我添加褪色时。有很多不需要的变量,我根本没有清理代码,我已经为此工作了几个小时,我知道可能有一个非常简单的解决方案,但我目前看不到。任何帮助都会很棒,谢谢。

最佳答案

不要贪多嚼不烂,从小处着手。 Vectors 将使您的代码不那么困惑。您可以在 Processing site 上找到 Vector 类的详细说明。 .这样一来,将不会有两个不同的变量 xplode1 和 xplode2,而是会有一个 Vector 对象来存储这两个值。一开始您可能会发现这些概念很困难,但它们将成为 future 草图的宝贵工具。

如果您熟悉变量、函数、条件和循环等基本概念,请开始学习OOP(面向对象编程)。同样,Daniel Shiffman comes to help .

此外,在 StackOverflow 上询问时要更具体。解决问题通常意味着找到正确的问题。

关于algorithm - 在 Processing 中使用正弦算法简化跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17043089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com