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
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 |
#ifndef PADDLE_H_ #define PADDLE_H_ #include "allegro5/allegro.h" class Paddle { public: Paddle(); Paddle(float x, float y, int w, int h); virtual ~Paddle(); int getPaddleH(); int getPaddleW(); float getX(); float getY(); void setPaddleH(int paddle_h); void setPaddleW(int paddle_w); void setX(float x); void setY(float y); void draw(); void move(); ALLEGRO_BITMAP *getBitmap(); void createBitmap(ALLEGRO_BITMAP *image); private: float x; float y; int paddle_w; int paddle_h; ALLEGRO_BITMAP *image; }; #endif /* PADDLE_H_ */ |
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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
#include "Paddle.h" #include "allegro5/allegro5.h" Paddle::Paddle() { setX(0); setY(0); setPaddleW(0); setPaddleH(0); } Paddle::~Paddle() { } Paddle::Paddle(float x, float y, int w, int h) { setX(x); setY(y); setPaddleW(w); setPaddleH(h); //create the Bitmap for the paddle createBitmap(al_create_bitmap(getPaddleW(), getPaddleH())); } int Paddle::getPaddleH() { return this->paddle_h; } int Paddle::getPaddleW() { return this->paddle_w; } float Paddle::getX() { return this->x; } float Paddle::getY() { return this->y; } void Paddle::setPaddleH(int paddle_h) { this->paddle_h = paddle_h; } void Paddle::setPaddleW(int paddle_w) { this->paddle_w = paddle_w; } void Paddle::setX(float x) { this->x = x; } void Paddle::setY(float y) { this->y = y; } void Paddle::draw() { al_set_target_bitmap(getBitmap()); al_clear_to_color(al_map_rgb_f(200, 0, 200)); } void Paddle::move() { } ALLEGRO_BITMAP *Paddle::getBitmap() { return image; } void Paddle::createBitmap(ALLEGRO_BITMAP *image) { this->image = image; } |
C-/C++-Quelltext |
|
1 |
Paddle *paddle = new Paddle(paddle_y, paddle_x, PADDLE_SIZE_W, PADDLE_SIZE_H); |
C-/C++-Quelltext |
|
1 |
createBitmap(al_create_bitmap(getPaddleW(), getPaddleH())); |
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »XelVair« (11.10.2011, 17:03)
Desweiteren würde ich private Funktionen und Variablen beispielsweise mit "_" oder "My" am Anfang kennzeichnen, dann kannst du dir das "this" komplett sparen
hmm.. mir leuchtet nicht ein, warum das nur in Python angebracht sein soll. Solange es zur Ordnung beiträgt ist doch nichts falsch daran, derartige Notierungen auch in anderen Sprachen zu verwenden.. Darüber hinaus bin ich mir ziemlich sicher dass Klassen in der SFML auch Private Memberfunktionen- und Variablen mit "My" am Anfang habenDesweiteren würde ich private Funktionen und Variablen beispielsweise mit "_" oder "My" am Anfang kennzeichnen, dann kannst du dir das "this" komplett sparen
Das mit dem _ und dem My ist in Python gebräuchlich, in C++ aber eher nicht. Mach es ruhig so wie bisher. Das this-> kannst du dir bei den Gettermethoden sowieso sparen, wenn es dich stört.
idontknow
unregistriert
hmm.. mir leuchtet nicht ein, warum das nur in Python angebracht sein soll. Solange es zur Ordnung beiträgt ist doch nichts falsch daran, derartige Notierungen auch in anderen Sprachen zu verwenden.. Darüber hinaus bin ich mir ziemlich sicher dass Klassen in der SFML auch Private Memberfunktionen- und Variablen mit "My" am Anfang habenDesweiteren würde ich private Funktionen und Variablen beispielsweise mit "_" oder "My" am Anfang kennzeichnen, dann kannst du dir das "this" komplett sparen
Das mit dem _ und dem My ist in Python gebräuchlich, in C++ aber eher nicht. Mach es ruhig so wie bisher. Das this-> kannst du dir bei den Gettermethoden sowieso sparen, wenn es dich stört.
Ich meine dass es zu Problem kommt, wenn man in C++ this im Konstruktor benutzt, da dass Objekt ja noch nicht komplett initialisiert ist. Du benutzt es zwar nicht direkt, aber indirekt bei den Settern und Gettern. Vielleicht liegt das Problem ja da.
C-/C++-Quelltext |
|
1 2 3 4 5 6 |
Paddle::Paddle() { setX(0); setY(0); setPaddleW(0); setPaddleH(0); } |
C-/C++-Quelltext |
|
1 2 |
Paddle::Paddle() : x(0) , y(0) , paddle_w(0), paddle_h(0) { } |
C-/C++-Quelltext |
|
1 |
void draw(....)
|
C-/C++-Quelltext |
|
1 2 3 4 5 |
namespace render { void draw(....); } |
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].
Werbeanzeige