非常にばかげた質問のようですが、本当に助けが必要です。背景の透明なグラデーション画像を描画し、その上にいくつかのオブジェクトを描画するタスクを作成しています。問題は、この画像を一度描画したいのですが、他のオブジェクトいくつかのアニメーションを実行するために複数回描画されます
コードは次のとおりです。これは私が一度実行したいコードです。ブール変数 = false を作成し、それを true に設定しました
public void drawLockLayer(Graphics g) {
try {
lock = Image.createImage(Paths.lock);
g.drawImage(lock, 0, 0, LGBMainMidlet.width, LGBMainMidlet.height);
System.out.println("After Draw Image");
drawOnce = true;
} catch (Exception ex) {
ex.printStackTrace();
}
}
他のコードは次のとおりです
public void paint(Graphics g, Rectangle rect) {
synchronized (g) {
if (drawOnce == false) {
drawLockLayer(g);
}
}
pos = (int) ((System.currentTimeMillis() % 2700) / 300);
int i = 0;
g.setColor(bgColor);
g.fillRoundRect(startX, startY, width, height, 20, 20);
g.setColor(fgColor);
g.setFont(font);
g.drawString(loadMsg, startX + (spacing / 4), startY + (spacing / 4));
for (int y = 0; y < 3; y++) {
for (int x = 0; x < 3; x++) {
int thickness = 6;
if (i == pos) {
thickness = 14;
} else if (i == pos - 1) {
thickness = 10;
}
g.fillRect((startX + x * spacing - (thickness / 2)) + (width / 3), (startY + y * spacing - (thickness / 2)) + (height / 3), thickness, thickness);
i++;
}
}
}
メソッドに入りますが、背景画像を描画しません。私がやりたいのは、画像の描画が終了するまでグラフィックスオブジェクトをロックしてから、他のコードを続行することです
誰でも助けてください