我正在使用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");
。
答案 0 :(得分:6)
您实际上正在从原点(左上角)旋转图像,因此它会从屏幕上消失。 你必须转换到图像的中心,旋转,转换回它的原点,然后显示它。
translate(image.width/2, image.height/2);
rotate(radians);
translate(-image.width/2, -image.height/2);