gpt4 book ai didi

java - 如何使用 Codename One 的 Transform 类根据命令旋转图像?

转载 作者:行者123 更新时间:2023-11-30 10:22:57 25 4
gpt4 key购买 nike

我目前正在做一个学校项目,我们正在使用代号一创建小行星游戏。我当前的功能运行良好,但旋转船舶图像时除外。使用 Transform 类一直无效;无论如何应用变换或绘制图像,图像都不会旋转。

下面是用于转换的代码示例部分:

public void turnRight() //Rotates the ship 5 degrees clockwise
{
if (direction==355)
direction = 0;
else
direction+=5;
Transform tmpTransform = Transform.makeIdentity();
theImage.getGraphics().getTransform(tmpTransform);
tmpTransform.rotate((float)Math.toRadians(5), x, y);
theImage.getGraphics().setTransform(tmpTransform);
theImage.getGraphics().drawImage(shipPic, 0, 0);
}

地点:

  • theImage 是可变图像 (100x100)
  • shipPic 是通过 Image.createImage(String path) 创建的图像

此外,我尝试过使用 draw(Graphics g, Point p) 方法并传递 theImage.getGraphics(),以及传递 shipPic.getGraphics()我不知所措,Codename One 关于该主题的文档没有帮助。

我能得到一些帮助吗?

最佳答案

你需要使用一个图形对象,所以像这样:

图形 g = theImage.getGraphics();

会更正确。当渲染到图像上时,您还必须测试变换支持,因为低级图形并不总是可移植到所有表面的所有操作系统。一个很好的例子是 iOS,其中渲染到图像上使用与显示渲染完全不同的低级实现。

通常我会直接渲染到显示器,因为这在现代设备上是硬件加速的,图像通常是在软件中实现的。

关于文档,您是否阅读了 graphics section在开发人员指南中?

它应该包含所有内容的解释,如果缺少某些内容,则为 search .如果您仍然找不到东西并自己解决,请注意您也可以 edit the docs并帮助我们改进它们。

关于java - 如何使用 Codename One 的 Transform 类根据命令旋转图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47297998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com