无法修复的损坏

问题描述 投票:0回答:2

无法修复的损坏无法修复的损坏无法修复的损坏无法修复的损坏无法修复的损坏无法修复的损坏无法修复的损坏无法修复的损坏无法修复的损坏无法修复的损坏无法修复的损坏无法修复的损坏无法修复的损坏无法修复的损坏

swing rotation paintcomponent
2个回答
0
投票
Graphics2D P1GFX = (Graphics2D)frogp1;
Graphics2D P2GFX = (Graphics2D)frogp1;

转换对象意味着您仍在使用相同的对象引用。

如果你想要两个独立的 Graphics 对象,那么你需要这样做:

Graphics2D p1gfx = (Graphics2D)frogp1.create();
Graphics2D p2gfx = (Graphics2D)frogp1.create();

然后当您完成使用的 Graphics 对象时:

p1gfx.dispose();
p2gfx.dispose();

我更改了变量名称以遵循 Java 命名约定。不要使用全部大写字符作为变量名称。


0
投票

您可以旋转,然后取消旋转并重新定位:

public void paintComponent(Graphics graphics) {
        Graphics2D g2d = (Graphics2D)graphics;
        g2d.rotate(90, 150 / 2, 150 / 2);
        g2d.drawImage(p1.getImage1(), p1x, p1y,this);
        g2d.rotate(-90, 150 / 2, 150 / 2);
        g2d.rotate(40, 50, 50);
        g2d.drawImage(p2.getImage2(), p2x, p2y, this);
}
© www.soinside.com 2019 - 2024. All rights reserved.