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

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

11

24.12.2015, 08:05

Du vermeidest Zyklen und baust erst gar keine ein. Entweder A greift auf B zu oder B auf A. Aber nie beide auf den jeweils anderen. Technisch geht das schon, führt Dich aber nur in dunkle Abgründe.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

12

24.12.2015, 08:51

Und um mit der Klasse A auf die Klasse B zugreifen zu können, muss ich eine Instanze von Klasse B in Klasse A erstellen, oder? (Tut mir leid für die dumme Fragen, ich hab das so noch nie gemacht ;( )

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

13

24.12.2015, 09:20

Musst Du nicht. Ein Zugriff von A auf B kann auch heißen, dass B als Parameter in einer Methode von A übergeben wird und A dann Methoden/Properties von B aufruft.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

14

24.12.2015, 10:46

Musst Du nicht. Ein Zugriff von A auf B kann auch heißen, dass B als Parameter in einer Methode von A übergeben wird und A dann Methoden/Properties von B aufruft.

Aha ok! Danke für die Klarstellung :thumbsup: Ich werde es im Laufe des Tages mal ausprobieren.

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

15

24.12.2015, 16:43

Also ich bin jetzt so weit:

Tilemap.hpp: (load und draw sind von der SFML-Seite)

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
#pragma once

//////////
// INCLUDES //
//////////
#include <string>
#include <fstream>
#include <SFML\Graphics.hpp>

class Tilemap : public sf::Drawable, public sf::Transformable
{
public:
    Tilemap();

    bool load(const std::string& tileset, sf::Vector2u tileSize, const int* tiles, unsigned int width, unsigned int height);
    bool read(const std::string& path);

private:
    virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const;

private:
    sf::VertexArray m_vertices;
    sf::Texture m_tileset;
};


D.h. wo müsste jetzt ein Parameter von der PlayState-Klasse hin? (von PlayState will ich auf die Klasse Tilemap zugreifen)

16

24.12.2015, 18:34

Verwaltet PlayState TileMap oder verwaltet Tilemap PlayState?

Wenn du dir Frage beantworten kannst, solltest dir auch klar werden wer wen kennen muss und damit auch wer einen Paramater vom anderen haben sollte/darf.

Weihnachtliche Grüße

Koschi
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

17

25.12.2015, 09:34

Verwaltet PlayState TileMap oder verwaltet Tilemap PlayState?

Also ich brauche die Informationen aus TileMap, also verwaltet PlayState Tilemap. Dann müsste der Code ja so aussehen:

Tilemap.hpp:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once

//////////
// INCLUDES //
//////////
#include <string>
#include <fstream>
#include <SFML\Graphics.hpp>

class PlayState;

class Tilemap : public sf::Drawable, public sf::Transformable
{
public:
    //Konstruktor und die load-Methode
    bool read(const std::string& path, PlayState &playstate);

//noch ein paar private Member
};


Und in PlayState.hpp ist TileMap inkudiert. Ist das so richtig?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

18

25.12.2015, 09:49

Das wäre jetzt aber ein Zyklus, der ja vermieden werden sollte. Wofür muss die Tilemap den PlayState kennen? Finde ich total unnötig.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

19

25.12.2015, 11:24

Das wäre jetzt aber ein Zyklus

Wie wäre es dann richtig?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

20

25.12.2015, 11:47

Bei solchen Fragen ist es schwierig, zwischen "richtig" und "falsch" zu unterscheiden. Aber beantworte dir doch einfach mal die Frage, warum deine TileMap den PlayState kennen müssen sollte. Dafür dürfte dir eigentlich kein guter Grund einfallen.

Werbeanzeige