Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

LsFan

Frischling

  • »LsFan« ist der Autor dieses Themas

Beiträge: 29

Beruf: Der Böse Admin sein xD

  • Private Nachricht senden

1

27.09.2013, 17:38

2 Timer 2 Methoden??? Wie eine extra Methode für zweiten Timer machen??

Hallo,

Sorry dass ich schon wieder nerve aber ich Habe noch ein Problem mit dem Sternengenerator (hab ich schon zum teil fertig)

IN JAVA!!!!

Ich habe eine Sternengrafik geladen und hab auch schon den ganzen Kram mit dem Raumschiff. Ich Habe einen Timer für die Bewegung des Raumschiffes (Raumschiff fliegt nach vorne (bleibt in der mitte) und steren bewegen sich nach hinten) und einen Timer, der neue Sterne hinzufüge soll (pro sekunde). Den Zufallsgenerator für die Position der Sterne hab ich acuh schon. Jeder Timer hat ja einen ActionListener und dieser ActionListener hat ja eine Methode public void actionPerformed (ActionEvent e). Mein Problem: Beide Timer greifen auf diese Methode zu. Ich will aber eine extra Methode für meinen zweiten Timer "AddStars".



Hier nochmal der Code der Raumschiffklasse:


Quellcode

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
import java.awt.Color; 
import java.awt.Graphics; 
import java.awt.Graphics2D; 
import java.awt.Image; 
import javax.swing.ImageIcon; 
import javax.swing.JPanel; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.awt.event.KeyAdapter; 
import java.awt.event.KeyEvent; 
import javax.swing.Timer; 
import java.util.Random; 

public class SpaceShip extends JPanel implements ActionListener{ 

Image SpaceShipImage; 
Image StarImage; 
int ImageFrames = 1; 
Timer MoveFrames; 
Timer AddStars; 


Random StarX = new Random(); 
boolean MoveAllowed = true; 
int Key = 0; 
int XStar; 
ActionListener ASL; 
int StarY = 0;
int YStar = 376; 

public SpaceShip() 
{ 
setFocusable(true); 
ImageIcon Icon = new ImageIcon((getClass().getResource("SpaceShip1.png"))); 
SpaceShipImage = Icon.getImage(); 
System.out.println("SpaceShipImage was initialized successfully!\n"); 

ImageIcon Icon2 = new ImageIcon((getClass().getResource("star.png"))); 
StarImage = Icon2.getImage(); 
System.out.println("StarImage was initialized successfully!\n"); 
addKeyListener(new AL()); 

MoveFrames = new Timer(5, this); 
MoveFrames.start(); 
AddStars = new Timer(500, this); 
} 

public void actionPerformed(ActionEvent e) //Code vom Timer MoveFrames 
{ 
Move(); 
} 
public void AddNewStar() 
{
XStar = 10 + StarX.nextInt(990); 
} 
public void paint (Graphics g) 
{super.paint(g); 
Graphics2D Draw = (Graphics2D)g; 
Draw.drawImage(SpaceShipImage, 476, 376, null); 
Draw.drawImage(StarImage, XStar, YStar, null); 
} 

public void Move() 
{ 
YStar += StarY; 
if (MoveAllowed == false) 
{ 
StarY = 0; 

} 

repaint(); 
} 

public class AL extends KeyAdapter //Tastenaktionenklasse 
{ 
public AL() 
{ 

} 
public void keyPressed(KeyEvent e) 

{ 
Key = e.getKeyCode();if (MoveAllowed == true) 
{ 
if (Key == KeyEvent.VK_W) 
{ 
StarY = 2;
AddStars.start(); 
} 
if (Key == KeyEvent.VK_S) 
{ 
StarY = -2;
AddStars.start(); 
} 
} 
} 
public void keyReleased(KeyEvent e) 
{ 
if (Key == KeyEvent.VK_W || Key == KeyEvent.VK_S) 
{ 
StarY = 0;
AddStars.stop(); 
} 
} 
} 

}


und dann noch wie ich einen NEUEN stern zeichne! :)

LG LsFan :)

PS:Sorry wenn Formatierungsfehler auftreten :huh:
(\ /) | Dies ist Hase.
(^.^) | <-- Bitte kopiere Hase in deine Signatur
(*_*) | und hilf ihm, die Weltherrschaft an sich zu reißen.

MitgliedXYZ

Alter Hase

Beiträge: 1 369

Wohnort: Bayern

  • Private Nachricht senden

2

28.09.2013, 11:28

und dann noch wie ich einen NEUEN stern zeichne!

Quellcode

1
AddNewStar()



Du hast den Quellcode nicht selbst geschrieben, oder?

LsFan

Frischling

  • »LsFan« ist der Autor dieses Themas

Beiträge: 29

Beruf: Der Böse Admin sein xD

  • Private Nachricht senden

3

28.09.2013, 13:09

Ich habe den Code selbst geschrieben und ich wenn ich addnewstar(); aufrufe wird der stern einfauch nur an eine neue position gesetz . es wird kein neuer gemalt. :S
(\ /) | Dies ist Hase.
(^.^) | <-- Bitte kopiere Hase in deine Signatur
(*_*) | und hilf ihm, die Weltherrschaft an sich zu reißen.

Werbeanzeige