Hey,
wie die Überschrift es schon sagt, versuche ich mich derzeitig an einem einfachem Retro Pong Spiel.
Leider scheiterte ich an den Kollisionen zwischen (Ball vs Pong Brett). Klar weis ich wie ich die Kollision prüfe nur da ich das ganze jetzt Objektorisiert angehe ist das eine kleine Hürde für mich.
Es währe verdammt Nett wenn mir jemand weiterhelfen oder Tipps geben könnte
.
Info:
Ich habe erst für jedes Objekt eine eigene Klasse, also 3 verschiedene Klassen.
Mir wurde gesagt ich sollte für die Pong Bretter eine Struktur in der Klasse CBall machen.
main.cpp
|
C-/C++-Quelltext
|
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
|
// ##################################
// Name: Retro Pong #
// Revision: 1 #
// Datum: 31.08.2011- #
// ##################################
#include <iostream>
#include <SFML/Graphics.hpp>
#include "CBall.hpp"
using namespace std;
// Prototypen
int main ()
{
// Variablen
CBall Ball;
// Create MainRender Window
sf::RenderWindow App(sf::VideoMode(800, 600, 32), "Retro Pong - Revision 1");
App.SetFramerateLimit(60);
// GameLoop
while (App.IsOpened ())
{
// Process events
sf::Event Event;
while (App.GetEvent(Event))
{
//Close MainRender Window
if (Event.Type == sf::Event::Closed)
{
App.Close ();
}
}
App.Clear ();
Ball.Zeichnen (App);
Ball.Bewegung (App);
App.Display ();
}
return 0;
}
|
CBall.cpp
|
C-/C++-Quelltext
|
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
|
// Quelldatei - Klasse für den Ball
#include <SFML/Graphics.hpp>
#include <iostream>
#include "CBall.hpp"
using namespace std;
// Konstruktor
CBall::CBall ()
{
m_X = 395;
m_Y = 295;
m_SpeedX = 8.0f;
m_SpeedY = 0.1f;
cout << "Ball erstellt" << endl;
}
// Zeichnen
// Aufgabe: Stell den Ball grafisch da.
void CBall::Zeichnen (sf::RenderWindow &App)
{
App.Draw (sf::Shape::Circle (m_X, m_Y, 5, sf::Color::Magenta));
}
// Bewergung
// Aufgabe: Bewegungen
void CBall::Bewegung (sf::RenderWindow &App)
{
m_X += m_SpeedX;
}
|
CBall.hpp
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// Headerdatei - Klasse für den Ball
class CBall
{
private:
// Membervariablen
float m_X;
float m_Y;
float m_SpeedX;
float m_SpeedY;
struct S_Spieler
{
int m_X;
int m_Y;
};
public:
// Memberfunktionen
CBall ();
void Zeichnen (sf::RenderWindow &App);
void Bewegung (sf::RenderWindow &App);
};
|