这是一个与Processing 2.x相关的问题,但您可以给出一般性答案,我会将其转化为处理草图。 我想相对于我在box2d中创建的对象移动我的背景并且遵循一个弹道路径。我希望该对象保留在草图内部,而不是超过草图的宽度。我怎样才能做到这一点? 这就是我所尝试的:(显示的图像是一个大图像,是草图宽度的4倍)
void Display(Gulli gulli) {
imageMode(CENTER);
if (gulli.isMoving()) {
Vec2 gulli_pos = gulli.getPosition();
gulli_pos.mulLocal(-1); // to move background in opposite direction of the object
pushMatrix();
translate(gulli_pos.x+width*1.63, +height/2+gulli_pos.y);
image(img, pos.x, pos.y);
popMatrix();
} else {
pushMatrix();
translate(width*1.5, -height/2);
image(img, pos.x, pos.y);
popMatrix();
}
}
答案 0 :(得分:1)
我做了类似的事情,让我试着用这个简单的图画来解释它。
黑色方块是背景图像,灰色是Processing的草图屏幕,红色的球是您的移动物体。 我们的想法是,当backImage侧面与屏幕侧面之间的距离大于0时,您使用与球相同的速度移动背景图像,但方向相反。如果这种情况发生变化,你就会正常移动球。
希望得到这个帮助。 问候 何