これは私の最初の非学校関連のプログラムです。私はあなたがうまくいけば簡単に答えることができるいくつかの質問があります。私には3つの質問があります。ボタンとは別のクラスになっていても、自分のボタンをJFrameに追加するにはどうすればいいですか?アニメーションを含む複雑なSwing GUIの作成に関するヘルプ
また、どのようにして私の形を作り、他の10人は、約1/4秒後にそれを好きなので、私はそれらの行を持っていました。
次に、ボックスをドラッグしている人に比例する所定のパスに従うようにするにはどうすればよいですか?
おかげさまで読んでくれてありがとう。ここに私の3クラスです:
gameRunner.java
import javax.swing.JFrame;
public class gameRunner {
public static void main(String args []){
Enemy e = new Enemy();
Buttons b = new Buttons();
JFrame f = new JFrame();
f.add(b);
f.add(e);
f.setVisible(true);
f.setSize(1300, 700);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setTitle("Tower Defense");
}
}
Enemy.java
がimport java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Rectangle2D;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.Timer;
public class Enemy extends JPanel implements ActionListener {
Timer t = new Timer(5, this);
double x = 0;
double y = 0;
double velX = 3;
double velY = .5;
int health = 10;
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
Rectangle2D square = new Rectangle2D.Double(x, y, 10, 10);
g2.fill(square);
t.start();
}
public double adjustHorizontalSpeed() {
y += velY;
return y;
}
public double adjustVerticalSpeed() {
x += velX;
return x;
}
public void actionPerformed(ActionEvent e) {
adjustHorizontalSpeed();
adjustVerticalSpeed();
repaint();
}
}
Buttons.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Buttons extends JFrame implements ActionListener{
private JButton shoot;
public Buttons(){
shoot = new JButton("Shoot!");
shoot.setBounds(50,60,50,100);
shoot.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
ようこそstackoverflow :)次回は、質問の本文にコードが正しく書式設定されていることを確認するために、コードタグ(ツールバーの「{}」アイコンを使用して投稿を編集してください)を必ず使用してください。 – Cam