Ik heb nu 2 panels, de ene wordt gebruikt als het beginscherm, en op de 2e wordt een level van een spel weergegeven.
Het probleem is dat als ik op de knop beginnen klik, het spel moet worden weergegeven. In een applet viewer werkt dit wel, maar niet in de internet Explorer....
Ik zie het probleem _niet_
en ik wordt er helemaal gek van 
Dus hieronder staat de code van de hoofdklasse. Sorry dat het zo`n lap is maar ik kan het helaas niet inkorten omdat ik geen idee heb wat er mis is.
Het probleem is dat als ik op de knop beginnen klik, het spel moet worden weergegeven. In een applet viewer werkt dit wel, maar niet in de internet Explorer....
Ik zie het probleem _niet_
Dus hieronder staat de code van de hoofdklasse. Sorry dat het zo`n lap is maar ik kan het helaas niet inkorten omdat ik geen idee heb wat er mis is.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
| import java.applet.*;
import java.awt.*;
import javax.swing.*;
/**
* Dit is het auto, nu fiets-race-spel voor DND.
*
* @author M.Leijgraaf R.Hobo
* @version %I%
*/
public class Racen extends Applet implements Runnable
{
Pauze pauze;
Level levels;
boolean levelScherm=false,beginScherm=true,eindScherm=false,overnachtScherm=false,uitlegScherm=false;
Beginscherm beginscherm;
Eindscherm eindscherm;
Button stapje,loop,begin;
int auto = 0;
Image buffer,achtergrondImage;
Graphics bufferG,panelGraphics;
private Thread thread = null;
JPanel levelPanel,beginPanel;
int x;
/**
* Hier worden de buttons gedefinierd, en wordt er nog meer gedaan.
*/
public void init (){
levelPanel = new JPanel();
beginPanel = new JPanel();
add(levelPanel);
add(beginPanel);
levelPanel.setPreferredSize(new Dimension(640,480));
beginPanel.setPreferredSize(new Dimension(640,480));
levelPanel.setVisible(false);
beginPanel.setVisible(true);
levels = new Level();
pauze = new Pauze();
beginscherm = new Beginscherm();
eindscherm = new Eindscherm();
levelPanel.add(loop = new Button ( "loop"));
levelPanel.add (loop);
levelPanel.add(stapje = new Button ( "1 stapje" ));
levelPanel.add(stapje);
beginPanel.add(begin = new Button ( "Beginnen!"));
}
public void paint ( Graphics g ){
if( bufferG == null ){ // Deze 3 regels code zijn nodig om het een en ander te definieren
buffer = createImage( 640, 480 ); //maakt een leeg plaatje van 640*480 aan in de buffer
bufferG = buffer.getGraphics(); //zet he huidige beeld in het de buffer
}
if (beginScherm==false){
beginscherm.tekenen(bufferG);
panelGraphics = beginPanel.getGraphics();
panelGraphics.drawImage(buffer,0,0,640,480,this);
panelGraphics.dispose();
}
if (levelScherm==true){
if (levels.klaar==false){
levels.teken(bufferG);
}
else{
levels.besturing();
panelGraphics = levelPanel.getGraphics();
panelGraphics.drawImage(buffer,0,0,640,480,this);
panelGraphics.dispose();
levels.klaar=false;
}
}
}
public void start() {
if (thread == null) {
thread = new Thread(this);
thread.start();
}
}
public void stop() {
thread.stop();
thread = null;
}
public void run(){
while (thread!=null){
pauze.slaap(20); //wacht-mode
repaint();
}
}
public void update( Graphics g ){
paint( g ); // Maak de tweede buffer schoon
}
public boolean action (Event e, Object o){
if ( e.target == stapje ){
}
if ( e.target == loop){
}
if ( e.target == begin){
beginPanel.setVisible(false);
beginScherm=false;
levelPanel.setVisible(true);
levelScherm=true;
}
return false;
}
public boolean keyDown (Event e, int key){
switch ( key )
{
case Event.LEFT: levels.fietslinks=true;
break;
case Event.RIGHT: levels.fietsrechts=true;
}
return true;
}
public boolean keyUp (Event e, int key){
switch ( key )
{
case Event.LEFT: levels.fietslinks=false;
break; case Event.RIGHT: levels.fietsrechts=false;
}
return true;
}
} |