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

时间:2011-07-09 22:38:13

标签: java image rotation transformation processing

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

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

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

1 个答案:

答案 0 :(得分:6)

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

translate(image.width/2, image.height/2);
rotate(radians);
translate(-image.width/2, -image.height/2);