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");.
实际上,您正在从原点(左上角)旋转图像,因此它会从屏幕上消失.您必须转换到图像的中心,旋转,转换回它的原点,然后显示它.
translate(image.width/2, image.height/2);
rotate(radians);
translate(-image.width/2, -image.height/2);
Run Code Online (Sandbox Code Playgroud)