java - 处理中旋转时图像消失

标签 java image rotation transformation processing

我正在使用Processing语言来做一个小游戏,但我在图像和旋转方面遇到了麻烦。如果我不对其进行旋转,我的 Sprite 会显示良好,但如果旋转它就会完全消失。这是旋转代码:

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为true且direction为2时,则显示图像。否则,不显示图像。我不确定这是否重要,但蛇是一个具有 alpha 透明度的 .png 图像。 Snake 的声明为 snake = loadImage("SnakeLink.png");

最佳答案

您实际上是从原点(左上角)旋转图像,因此它从屏幕上消失。 您必须平移到图像的中心,旋转,平移回其原点,然后显示它。

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

关于java - 处理中旋转时图像消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6637943/

相关文章:

java - 如何从 Java 设置环境变量?

java - 获取 R2DBC 失败,此发布者不支持多订阅者

具有相对路径的Java Composite backgroundimage

java - 为什么Java同时有Image类和Icon类?

java - 通过java代码执行命令时出错

java - Jetty 的 XML 模式错误

iOS Cordova 将本地文件设置为 img src

java - 如何在java中旋转饼图

android - Activity 在旋转 Android 时重新启动

ios - 如何在 iPad2 上更改设备方向时旋转视频源(在带有 Qualcomm QCAR 扩展的 Unity 中)