我无法在CodenameOne中找到图形类的Transform Method的替代方法。我尝试过使用Graphics setTransform Method但无法获得所需的功能。你能帮忙吗?谢谢
AffineTransform saveAT = g2d.getTransform();
g2d.transform(getmyTranslation());
g2d.transform(getmyRotation());
g2d.fillRect((int)(0-getSize()/2), (int)(0-getSize()/2), getSize(), getSize());
for (Object f : obj)
{
f.draw(g2d);
}
g2d.setTransform(saveAT);
我们在CodenameOne中没有g2d.transform
答案 0 :(得分:1)
仿射变换直接构建在图形中,因此您根本不需要前几行:
AffineTransform saveAT = g2d.getTransform();
g2d.transform(getmyTranslation());
g2d.transform(getmyRotation());
你可以这样做:
g2d.rotate(degrees, pivotX, pivotY);
填充矩形应该几乎相同:
g2d.fillRect((int)(0-getSize()/2), (int)(0-getSize()/2), getSize(), getSize());
Draw也适用于Shape
个对象:
for (Object f : feet)
{
f.draw(g2d);
}
不需要像这样恢复仿射:
g2d.setTransform(saveAT);
请改为:
g2d.resetAffine();