Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Array classes c++

M Kelder
5 antwoorden
  • Ik heb een simpele class gemaakt die ik in een array wil stoppen. Ik heb een eigen constructor geschreven. Nou heb ik het op dit moment zo gedaan:
    Wall wall[2] = {(40, 35, 760, 45, 1, 1, 1), (40, 500, 760, 510, 1, 1, 1)};
    Maar dat werkt niet. Hoe kan ik dit het beste doen?

    alvast bedankt,
    Anne
  • Het lijkt me niet simpel, je vraagstuk.
    Maar zeker veel te weinig info zou ik zeggen.

    Hoe ziet je Class eruit?
  • De Wall class houdt info over muren die ik wil gebruiken voor mijn pong game.

    Dit is wall.cpp:
    [code:1:d5cc3c3ca7]#include "wall.h"
    #include <gl/gl.h>

    Wall::Wall(int x, int y, int x_2, int y_2, float red, float green, float blue) {
    x1 = x;
    y1 = y;
    x2 = x_2;
    y2 = y_2;
    r = red;
    g = green;
    b = blue;
    }

    void Wall::drawWall() {
    glColor3f(r, g, b);
    glBegin(GL_QUADS);
    glVertex2i(x1, y1);
    glVertex2i(x2, y1);
    glVertex2i(x2, y2);
    glVertex2i(x1, y2);
    glEnd();
    }[/code:1:d5cc3c3ca7]
    Dit is wall.h:
    [code:1:d5cc3c3ca7]
    #ifndef WALL_H
    #define WALL_H

    class Wall {
    public:
    int x1, y1, x2, y2;
    float r, g, b;
    Wall(int x = 1, int y = 1, int x_2 = 1, int y_2 = 1, float red = 1, float green = 1, float blue = 1);
    void drawWall();
    };

    #endif
    [/code:1:d5cc3c3ca7]

    Ik zou graag een oplossing hiervoor willen hebben. Maar ik heb het al op een andere manier opgelost.
    Het punt dat me nu nog problemen geeft is collision detection….

    alvast bedankt
  • Probeer het zo eens…

    Wall wall[2] = {Wall(40, 35, 760, 45, 1, 1, 1), Wall(40, 500, 760, 510, 1, 1, 1)};

    De manier van jouw werkt wel bij classen waar je maar 1 argument in de constructor wilt opvullen.


    Was me dat een heropfrissing van C++ : )
  • Zo werkt het inderdaad, bedankt.

    Heeft iemand nog ideeen over de collision detection van de bal en een muur/spelers balk? Het geeft bij mij altijd gekke resulataten…

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.