处理中的图像在旋转时消失

Lov*_*ing 2 java processing transformation image rotation

我正在使用Processing语言做一个小游戏,但我遇到图像和旋转问题.如果我没有旋转它,我的精灵显示正常,但如果它旋转它会完全消失.这是轮换代码:

void display(boolean alternate) {
    pushMatrix();
    if(!isHead && !isTail && alternate) rotate(radians(180));
    rotate(radians(90*direction));
    image(snake, x, y, linkSize, linkSize);
    popMatrix();
}
Run Code Online (Sandbox Code Playgroud)

direction为0或alternate为真且direction为2时,则显示图像.否则,不显示图像.我不确定它是否重要,但是蛇是具有alpha透明度的.png图像.蛇的宣言是snake = loadImage("SnakeLink.png");.

Rog*_*dré 6

实际上,您正在从原点(左上角)旋转图像,因此它会从屏幕上消失.您必须转换到图像的中心,旋转,转换回它的原点,然后显示它.

translate(image.width/2, image.height/2);
rotate(radians);
translate(-image.width/2, -image.height/2);
Run Code Online (Sandbox Code Playgroud)