12枚の画像をスタートストップボタンでアニメーションさせるプログラムを作りたいのですが、どのように作ればいいのでしょうか?
どなたか教えていただけませんでしょうか?

ちなみに、一応作ったものはありますが、ここにはのせられなかったので、ご連絡いただければ、添付させていただきたいと思います。

よろしくお願いします。

A 回答 (1件)

 以下は、画像を差し替えながら表示させてアニメーションにするアプリケーションの一例です。



import java.awt.*;
import java.awt.event.*;

class animecanvas extends Canvas implements ActionListener, Runnable {

private static final String FileName[] = {"0.gif", "1.gif", "2.gif", "3.gif", "4.gif", "5.gif", "6.gif", "7.gif", "8.gif", "9.gif"};
public Thread AnimeThread;
private Image Cell[];
private Button SB;
private boolean RunFlag;
private int CellNum;

public animecanvas(Button sb) {

int i;

SB = sb;
Cell = new Image[FileName.length];
for (i = 0; i < FileName.length; i ++)
Cell[i] = Toolkit.getDefaultToolkit().getImage(FileName[i]);

AnimeThread = new Thread(this);
CellNum = 0;
RunFlag = false;

};

public void run() {

while (CellNum >= 0) {
if (RunFlag) {
CellNum ++;
if (CellNum >= FileName.length) CellNum = 0;
repaint();
};
try { Thread.sleep(500); } catch(Exception ex) { CellNum = -1; };
};

};

public void paint(Graphics g) { g.drawImage(Cell[CellNum], 0, 0, this); };

public void update(Graphics g) { paint(g); };

public void actionPerformed(ActionEvent ae) {

if (ae.getActionCommand() == "SB") {
if (RunFlag) SB.setLabel("start");
else SB.setLabel("stop");
RunFlag = !RunFlag;
};

};

}

public class anime {

public static void main(String args[]) {

Frame MF = new Frame("Anime");
MF.setSize(300, 300);

Button SB = new Button("Start");
animecanvas AC = new animecanvas(SB);
MF.add(SB, BorderLayout.NORTH);
MF.add(AC, BorderLayout.CENTER);

SB.addActionListener(AC);
SB.setActionCommand("SB");

MF.setVisible(true);
AC.AnimeThread.start();

};

}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報