Hej!
Jag håller på att försöka göra ett spel i Java vad det går ut på spelar ingen större roll, problemet är att min ActionListener inte
fungerar, jag får fel när jag försöker kompilera:
airRifle2.java:106: cannot resolve symbol
symbol : variable stoppaRull
location: class airRifle2
if(e.getSource() == stoppaRull){
^
airRifle2.java:109: cannot resolve symbol
symbol : variable nyttSpel
location: class airRifle2
else if(e.getSource() == nyttSpel){
^
så här ser koden ut:
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.applet.Applet;
public class airRifle2 extends JFrame implements ActionListener {
boolean startaVert = false;
boolean startaHori = false;
public static void main(String[] args)
{
airRifle2 blaff = new airRifle2();
blaff.setVisible(true);
}
public airRifle2(){
JButton nyttSpel, stoppaSpel, stoppaRull, stoppaRull2;
nyttSpel = new JButton("Nytt Spel");
stoppaSpel = new JButton("Stoppa spel");
stoppaRull = new JButton("Stoppa H-pilen");
stoppaRull2 = new JButton("Stoppa V-Pilen");
stoppaRull.addActionListener(this);
nyttSpel.addActionListener(this);
JPanel panel1 = new JPanel();
panel1.add(nyttSpel);
panel1.add(stoppaSpel);
panel1.add(stoppaRull);
panel1.add(stoppaRull2);
getContentPane().add(panel1, "North");
JPanel panel2 = new JPanel();
panel2.setBackground(Color.gray);
panel2.setPreferredSize(new Dimension(0,200));
getContentPane().add(panel2, "Center");
pack();
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ae){
System.exit(0);
}
});
}
public void paint(Graphics g){
//Deklarera alla variablar som behövs
int[] koordinater = new int[2];
super.paint(g);
//Rita ut måltavlan
g.setColor(Color.red);
g.fillOval(175,100,100,100);
//Rita ut vertikala cirkeln, få den att röra sig
if(startaVert == true){
//Fördröjningsmekanism
for(int a = 0; a < 1000000; a++){
}
int y = 0;
for(int x = 0 ; y < 5 ; x++){
for(int b = 0; b < 100 ; b++){
}
//for(int c = 0; c < 100 ; c++){
//}
g.setColor(getBackground());
g.fillOval(150+x, 210, 10, 10);
g.setColor(Color.black);
g.fillOval(151+x, 210, 10, 10);
if(startaVert == false){
koordinater[0] = 150+x;
break;
}
if(150+x >= 300){
x = 0;
y = y + 1;
}
}
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == stoppaRull){
startaVert = false;
}
else if(e.getSource() == nyttSpel)
{
startaVert = true;
}
}
}